From ff9cbe2cb058c9516bf81c8f0bb4ea57f2ad4a29 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 2 Dec 2022 10:56:11 +0100 Subject: [PATCH] Non transitive R classes --- app-wear-shared/shared-impl/build.gradle | 4 +- app-wear-shared/shared/build.gradle | 10 +- app/build.gradle | 8 +- .../nightscout/androidaps/MainActivity.kt | 38 +- .../info/nightscout/androidaps/MainApp.kt | 32 +- .../activities/HistoryBrowseActivity.kt | 9 +- .../activities/MyPreferenceFragment.kt | 116 ++--- .../activities/PreferencesActivity.kt | 4 +- .../androidaps/receivers/KeepAliveWorker.kt | 6 +- .../workflow/CalculationWorkflowImpl.kt | 5 +- app/src/main/res/layout/close.xml | 19 - app/src/main/res/values-af-rZA/validator.xml | 2 - app/src/main/res/values-bg-rBG/validator.xml | 2 - app/src/main/res/values-cs-rCZ/validator.xml | 21 - app/src/main/res/values-de-rDE/validator.xml | 21 - app/src/main/res/values-el-rGR/validator.xml | 2 - app/src/main/res/values-es-rES/validator.xml | 2 - app/src/main/res/values-fi-rFI/validator.xml | 2 - app/src/main/res/values-fr-rFR/validator.xml | 21 - app/src/main/res/values-ga-rIE/validator.xml | 2 - app/src/main/res/values-hr-rHR/validator.xml | 2 - app/src/main/res/values-it-rIT/validator.xml | 21 - app/src/main/res/values-iw-rIL/validator.xml | 2 - app/src/main/res/values-ja-rJP/validator.xml | 2 - app/src/main/res/values-ko-rKR/validator.xml | 2 - app/src/main/res/values-lt-rLT/validator.xml | 2 - app/src/main/res/values-nl-rNL/validator.xml | 2 - app/src/main/res/values-pl-rPL/validator.xml | 21 - app/src/main/res/values-pt-rBR/validator.xml | 21 - app/src/main/res/values-pt-rPT/validator.xml | 21 - app/src/main/res/values-ro-rRO/validator.xml | 2 - app/src/main/res/values-ru-rRU/validator.xml | 21 - app/src/main/res/values-sk-rSK/validator.xml | 21 - app/src/main/res/values-sl-rSI/validator.xml | 2 - app/src/main/res/values-sv-rSE/validator.xml | 21 - app/src/main/res/values-tr-rTR/validator.xml | 2 - app/src/main/res/values-zh-rCN/validator.xml | 2 - .../nightscout/androidaps/HardLimitsMock.kt | 15 +- .../androidaps/data/QuickWizardTest.kt | 3 +- .../interfaces/ConstraintsCheckerTest.kt | 101 ++-- .../plugins/aps/loop/LoopPluginTest.kt | 9 +- .../plugins/safety/SafetyPluginTest.kt | 44 +- .../androidaps/pump/PumpEnactResultTest.kt | 21 +- .../core/pump/PumpEnactResultExtension.kt | 43 -- .../src/main/res/values-af-rZA/strings.xml | 183 ------- .../src/main/res/values-ar-rSA/strings.xml | 44 -- .../src/main/res/values-bg-rBG/strings.xml | 230 --------- .../src/main/res/values-ca-rES/strings.xml | 337 ------------- .../src/main/res/values-cs-rCZ/strings.xml | 434 ---------------- .../src/main/res/values-cy-rGB/strings.xml | 44 -- .../src/main/res/values-da-rDK/strings.xml | 431 ---------------- .../src/main/res/values-de-rDE/strings.xml | 430 ---------------- .../src/main/res/values-el-rGR/strings.xml | 193 -------- .../src/main/res/values-es-rES/strings.xml | 434 ---------------- .../src/main/res/values-fi-rFI/strings.xml | 44 -- .../src/main/res/values-fr-rFR/strings.xml | 434 ---------------- .../src/main/res/values-ga-rIE/strings.xml | 113 ----- .../src/main/res/values-ga-rIE/validator.xml | 2 - .../src/main/res/values-hr-rHR/strings.xml | 247 --------- .../src/main/res/values-hr-rHR/validator.xml | 2 - .../src/main/res/values-hu-rHU/strings.xml | 103 ---- .../src/main/res/values-hu-rHU/validator.xml | 2 - .../src/main/res/values-it-rIT/strings.xml | 434 ---------------- .../src/main/res/values-iw-rIL/strings.xml | 431 ---------------- .../src/main/res/values-ja-rJP/strings.xml | 35 -- .../src/main/res/values-ja-rJP/validator.xml | 2 - .../src/main/res/values-ko-rKR/strings.xml | 322 ------------ .../src/main/res/values-lt-rLT/strings.xml | 352 ------------- .../src/main/res/values-nl-rNL/strings.xml | 434 ---------------- .../src/main/res/values-no-rNO/strings.xml | 434 ---------------- .../src/main/res/values-pl-rPL/strings.xml | 350 ------------- .../src/main/res/values-pt-rBR/strings.xml | 434 ---------------- .../src/main/res/values-pt-rPT/strings.xml | 336 ------------- .../src/main/res/values-ro-rRO/strings.xml | 349 ------------- .../src/main/res/values-ru-rRU/strings.xml | 434 ---------------- .../src/main/res/values-sk-rSK/strings.xml | 434 ---------------- .../src/main/res/values-sl-rSI/strings.xml | 30 -- .../src/main/res/values-sl-rSI/validator.xml | 2 - .../src/main/res/values-sr-rCS/strings.xml | 50 -- .../src/main/res/values-sr-rCS/validator.xml | 2 - .../src/main/res/values-sv-rSE/strings.xml | 376 -------------- .../src/main/res/values-ta-rIN/strings.xml | 30 -- .../src/main/res/values-ta-rIN/validator.xml | 2 - .../src/main/res/values-tr-rTR/strings.xml | 434 ---------------- .../src/main/res/values-zh-rCN/strings.xml | 426 ---------------- .../core-main/src/main/res/values/strings.xml | 468 ------------------ core/graph/build.gradle | 10 +- .../core/graph/BasalProfileGraph.kt | 4 +- .../nightscout/core/graph/IcProfileGraph.kt | 2 +- .../nightscout/core/graph/IsfProfileGraph.kt | 2 +- .../core/graph/TargetBgProfileGraph.kt | 2 +- .../core/graph/data/BolusDataPoint.kt | 7 +- .../core/graph/data/CarbsDataPoint.kt | 2 +- .../data/EffectiveProfileSwitchDataPoint.kt | 5 +- .../core/graph/data/ExtendedBolusDataPoint.kt | 3 +- .../core/graph/data/GlucoseValueDataPoint.kt | 19 +- .../data/InMemoryGlucoseValueDataPoint.kt | 3 +- .../core/graph/data/TherapyEventDataPoint.kt | 15 +- core/graphview/build.gradle | 2 +- core/interfaces/build.gradle | 4 +- core/{core-main => main}/.gitignore | 0 .../allopen_dependencies.gradle | 0 .../android_dependencies.gradle | 0 .../android_module_dependencies.gradle | 0 core/{core-main => main}/build.gradle | 10 +- core/{core-main => main}/consumer-rules.pro | 0 core/{core-main => main}/jacoco_global.gradle | 0 core/{core-main => main}/proguard-rules.pro | 0 .../src/main/AndroidManifest.xml | 0 .../nightscout/core/aps/APSResultObject.kt | 33 +- .../core/di/CoreDataClassesModule.kt | 2 +- .../info/nightscout/core/di/CoreModule.kt | 0 .../nightscout/core/di/PreferencesModule.kt | 0 .../events/EventIobCalculationProgress.kt | 0 .../core/events/EventNewNotification.kt | 0 .../core/extensions/BlockExtension.kt | 0 .../BolusCalculatorResultExtension.kt | 0 .../core/extensions/BolusExtension.kt | 0 .../core/extensions/ExtendedBolusExtension.kt | 0 .../core/extensions/FoodExtension.kt | 0 .../core/extensions/GlucoseValueExtension.kt | 0 .../core/extensions/JSONObjectExt.kt | 0 .../core/extensions/ProfileSwitchExtension.kt | 0 .../extensions/TemporaryBasalExtension.kt | 0 .../extensions/TemporaryTargetExtension.kt | 4 +- .../core/extensions/TherapyEventExtension.kt | 0 .../core/extensions/TrendArrowIcon.kt | 0 .../nightscout/core/iob/CobInfoExtension.kt | 3 +- .../core/iob/GlucoseStatusExtension.kt | 0 .../nightscout/core/iob/IobTotalExtension.kt | 0 .../AutosensDataStoreObject.kt | 0 .../iobCobCalculator/GlucoseStatusProvider.kt | 0 .../data/AutosensDataObject.kt | 5 +- .../nightscout/core/profile/ProfileSealed.kt | 36 +- .../core/profile/ProfileStoreObject.kt | 0 .../core/pump/PumpEnactResultExtension.kt | 43 ++ .../nightscout/core/pump/PumpTypeExtension.kt | 0 .../core/services/AlarmSoundService.kt | 10 +- .../core/services/AlarmSoundServiceHelper.kt | 3 +- .../nightscout/core/wizard/BolusWizard.kt | 60 +-- .../nightscout/core/wizard/QuickWizard.kt | 5 +- .../core/wizard/QuickWizardEntry.kt | 5 +- .../core/workflow/CalculationWorkflow.kt | 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 .../ic_actions_start_extended_bolus.xml | 0 .../drawable/ic_actions_start_temp_basal.xml | 0 .../src/main/res/drawable/ic_add.xml | 1 - .../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 .../src/main/res/drawable/ic_bolus.xml | 0 .../src/main/res/drawable/ic_calculator.xml | 0 .../src/main/res/drawable/ic_calibration.xml | 0 .../src/main/res/drawable/ic_clone.xml | 0 .../src/main/res/drawable/ic_clone_48.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_cannula.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_dexcom_g6.xml | 0 .../src/main/res/drawable/ic_doubledown.xml | 0 .../src/main/res/drawable/ic_doubleup.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_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 .../src/main/res/drawable/ic_ict.xml | 0 .../src/main/res/drawable/ic_invalid.xml | 0 .../main/res/drawable/ic_local_activate.xml | 0 .../main/res/drawable/ic_local_profile.xml | 0 .../src/main/res/drawable/ic_local_reset.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 .../res/drawable/ic_nightscout_profile.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_poctech.xml | 0 .../src/main/res/drawable/ic_quick_wizard.xml | 0 .../src/main/res/drawable/ic_remove.xml | 1 - .../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 .../ic_swap_vert_black_48dp_green.xml | 0 .../main/res/drawable/ic_temptarget_high.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_virtual_pump.xml | 0 .../src/main/res/drawable/ic_watch.xml | 0 .../src/main/res/drawable/ic_x_swap_vert.xml | 0 .../src/main/res/drawable/ic_xdrip.xml | 0 .../main/res/drawable/icon_insulin_carbs.xml | 0 .../src/main/res/drawable/toast_border_ok.xml | 0 .../src/main/res/layout/passwordprompt.xml | 0 .../nightscout/androidaps/HardLimitsMock.kt | 15 +- .../androidaps/ProfileStoreObject.kt | 0 .../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 | 7 +- .../extensions/BlockExtensionKtTest.kt | 0 .../interfaces/PluginDescriptionTest.kt | 0 .../androidaps/interfaces/ProfileStoreTest.kt | 0 .../interfaces/PumpDescriptionTest.kt | 0 .../plugins/aps/loop/APSResultTest.kt | 0 .../iob/iobCalculator/GlucoseStatusTest.kt | 0 .../iobCobCalculator/AutosensDataStoreTest.kt | 0 .../pump/common/utils/DateTimeUtilUTest.java | 0 .../androidaps/utils/CryptoUtilTest.kt | 0 .../androidaps/utils/DateUtilTest.kt | 3 +- .../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 .../nightscout/core/wizard/BolusWizardTest.kt | 0 .../test_dependencies.gradle | 0 core/ns-sdk/build.gradle | 6 +- core/ui/build.gradle | 2 +- .../core/ui/elements/SingleClickButton.kt | 3 +- core/ui/src/main/res/layout/close.xml | 2 +- .../src/main/res/layout/notes.xml | 0 .../src/main/res/values-af-rZA/protection.xml | 0 .../src/main/res/values-ar-rSA/protection.xml | 0 .../src/main/res/values-bg-rBG/protection.xml | 0 .../ui/src/main/res/values-bg-rBG/strings.xml | 1 - .../src/main/res/values-ca-rES/protection.xml | 0 .../ui/src/main/res/values-ca-rES/strings.xml | 1 - .../src/main/res/values-cs-rCZ/protection.xml | 0 .../ui/src/main/res/values-cs-rCZ/strings.xml | 1 - .../src/main/res/values-cy-rGB/protection.xml | 0 .../src/main/res/values-da-rDK/protection.xml | 0 .../ui/src/main/res/values-da-rDK/strings.xml | 1 - .../src/main/res/values-de-rDE/protection.xml | 0 .../ui/src/main/res/values-de-rDE/strings.xml | 1 - .../src/main/res/values-el-rGR/protection.xml | 0 .../ui/src/main/res/values-el-rGR/strings.xml | 1 - .../src/main/res/values-es-rES/protection.xml | 0 .../ui/src/main/res/values-es-rES/strings.xml | 1 - .../src/main/res/values-fi-rFI/protection.xml | 0 .../src/main/res/values-fr-rFR/protection.xml | 0 .../ui/src/main/res/values-fr-rFR/strings.xml | 1 - .../src/main/res/values-ga-rIE/protection.xml | 0 .../src/main/res/values-hr-rHR/protection.xml | 0 .../ui/src/main/res/values-hr-rHR/strings.xml | 1 - .../src/main/res/values-hu-rHU/protection.xml | 0 .../src/main/res/values-it-rIT/protection.xml | 0 .../ui/src/main/res/values-it-rIT/strings.xml | 1 - .../src/main/res/values-iw-rIL/protection.xml | 0 .../ui/src/main/res/values-iw-rIL/strings.xml | 1 - .../src/main/res/values-ja-rJP/protection.xml | 0 .../src/main/res/values-ko-rKR/protection.xml | 0 .../ui/src/main/res/values-ko-rKR/strings.xml | 1 - .../src/main/res/values-lt-rLT/protection.xml | 0 .../ui/src/main/res/values-lt-rLT/strings.xml | 1 - .../src/main/res/values-nl-rNL/protection.xml | 0 .../ui/src/main/res/values-nl-rNL/strings.xml | 1 - .../src/main/res/values-no-rNO/protection.xml | 0 .../ui/src/main/res/values-no-rNO/strings.xml | 1 - .../src/main/res/values-pl-rPL/protection.xml | 0 .../ui/src/main/res/values-pl-rPL/strings.xml | 1 - .../src/main/res/values-pt-rBR/protection.xml | 0 .../ui/src/main/res/values-pt-rBR/strings.xml | 1 - .../src/main/res/values-pt-rPT/protection.xml | 0 .../ui/src/main/res/values-pt-rPT/strings.xml | 1 - .../src/main/res/values-ro-rRO/protection.xml | 0 .../ui/src/main/res/values-ro-rRO/strings.xml | 1 - .../src/main/res/values-ru-rRU/protection.xml | 0 .../ui/src/main/res/values-ru-rRU/strings.xml | 1 - .../src/main/res/values-sk-rSK/protection.xml | 0 .../ui/src/main/res/values-sk-rSK/strings.xml | 1 - .../src/main/res/values-sl-rSI/protection.xml | 0 .../src/main/res/values-sr-rCS/protection.xml | 0 .../ui/src/main/res/values-sr-rCS/strings.xml | 1 - .../src/main/res/values-sv-rSE/protection.xml | 0 .../ui/src/main/res/values-sv-rSE/strings.xml | 1 - .../src/main/res/values-tr-rTR/protection.xml | 0 .../src/main/res/values-zh-rCN/protection.xml | 0 .../ui/src/main/res/values-zh-rCN/strings.xml | 1 - .../src/main/res/values/arrays.xml | 8 +- .../src/main/res/values/protection.xml | 0 core/ui/src/main/res/values/strings.xml | 464 ++++++++++++++++- core/utils/build.gradle | 10 +- core/utils/src/main/res/values/arrays.xml | 11 + core/validators/build.gradle | 11 +- .../validators/DefaultEditTextValidator.kt | 3 +- .../ValidatingEditTextPreference.kt | 2 +- .../src/main/res/values-af-rZA/validator.xml | 0 .../src/main/res/values-bg-rBG/validator.xml | 0 .../src/main/res/values-ca-rES/validator.xml | 0 .../src/main/res/values-cs-rCZ/validator.xml | 0 .../src/main/res/values-da-rDK/validator.xml | 0 .../src/main/res/values-de-rDE/validator.xml | 0 .../src/main/res/values-el-rGR/validator.xml | 0 .../src/main/res/values-es-rES/validator.xml | 0 .../src/main/res/values-fr-rFR/validator.xml | 0 .../src/main/res/values-it-rIT/validator.xml | 0 .../src/main/res/values-iw-rIL/validator.xml | 0 .../src/main/res/values-ko-rKR/validator.xml | 0 .../src/main/res/values-lt-rLT/validator.xml | 0 .../src/main/res/values-nl-rNL/validator.xml | 0 .../src/main/res/values-no-rNO/validator.xml | 0 .../src/main/res/values-pl-rPL/validator.xml | 0 .../src/main/res/values-pt-rBR/validator.xml | 0 .../src/main/res/values-pt-rPT/validator.xml | 0 .../src/main/res/values-ro-rRO/validator.xml | 0 .../src/main/res/values-ru-rRU/validator.xml | 0 .../src/main/res/values-sk-rSK/validator.xml | 0 .../src/main/res/values-sv-rSE/validator.xml | 0 .../src/main/res/values-tr-rTR/validator.xml | 0 .../src/main/res/values-zh-rCN/validator.xml | 0 .../src/main/res/values/fet_attrs.xml | 0 .../src/main/res/values/validator.xml | 0 crowdin.yml | 50 +- database/entities/build.gradle | 2 +- database/impl/build.gradle | 4 +- gradle.properties | 1 + implementation/build.gradle | 12 +- .../implementation/BolusTimerImpl.kt | 4 +- .../implementation/CarbTimerImpl.kt | 4 +- .../implementation/DefaultValueHelperImpl.kt | 17 +- .../implementation/HardLimitsImpl.kt | 21 +- .../implementation/LocalAlertUtilsImpl.kt | 28 +- .../implementation/TranslatorImpl.kt | 291 ++++++----- .../implementation/TrendCalculatorImpl.kt | 19 +- .../implementation/XDripBroadcastImpl.kt | 10 +- .../NotificationHolderImpl.kt | 5 +- .../overview/OverviewDataImpl.kt | 40 +- .../profile/ProfileFunctionImpl.kt | 7 +- .../protection/BiometricCheck.kt | 11 +- .../protection/PasswordCheckImpl.kt | 38 +- .../protection/ProtectionCheckImpl.kt | 37 +- .../implementation/pump/BlePreCheckImpl.kt | 7 +- .../pump/PumpSyncImplementation.kt | 27 +- .../implementation/pump/WarnColorsImpl.kt | 19 +- .../queue/CommandQueueImplementation.kt | 4 +- .../implementation/queue/QueueThread.kt | 9 +- .../queue/commands/CommandBolus.kt | 11 +- .../commands/CommandCancelExtendedBolus.kt | 5 +- .../queue/commands/CommandCancelTempBasal.kt | 5 +- .../queue/commands/CommandCustomCommand.kt | 2 +- .../queue/commands/CommandExtendedBolus.kt | 5 +- .../CommandInsightSetTBROverNotification.kt | 5 +- .../queue/commands/CommandLoadEvents.kt | 5 +- .../queue/commands/CommandLoadHistory.kt | 5 +- .../queue/commands/CommandLoadTDDs.kt | 5 +- .../queue/commands/CommandReadStatus.kt | 5 +- .../queue/commands/CommandSMBBolus.kt | 7 +- .../queue/commands/CommandSetProfile.kt | 7 +- .../queue/commands/CommandSetUserSettings.kt | 5 +- .../queue/commands/CommandStartPump.kt | 5 +- .../queue/commands/CommandStopPump.kt | 5 +- .../commands/CommandTempBasalAbsolute.kt | 5 +- .../queue/commands/CommandTempBasalPercent.kt | 5 +- .../resources/IconsProviderImplementation.kt | 8 +- .../resources/ResourceHelperImpl.kt | 7 +- .../implementation/stats/DexcomTirImpl.kt | 10 +- .../implementation/stats/TddCalculatorImpl.kt | 7 +- .../implementation/stats/TirCalculatorImpl.kt | 7 +- .../implementation/stats/TirImpl.kt | 16 +- .../stats/TotalDailyDoseExtension.kt | 30 +- .../UserEntryPresentationHelperImpl.kt | 102 ++-- .../queue/CommandQueueImplementationTest.kt | 7 +- .../implementation/queue/QueueThreadTest.kt | 3 +- insight/build.gradle | 13 +- insight/src/main/AndroidManifest.xml | 1 + .../pump/insight/InsightAlertService.java | 10 +- .../pump/insight/LocalInsightFragment.java | 22 +- .../pump/insight/LocalInsightPlugin.java | 45 +- .../plugins/pump/insight/utils/AlertUtils.kt | 2 +- .../insight/utils/ExceptionTranslator.java | 2 +- insight/src/main/res/values/strings.xml | 2 + plugins/aps/build.gradle | 12 +- .../nightscout/plugins/aps/OpenAPSFragment.kt | 2 +- .../plugins/aps/loop/LoopFragment.kt | 6 +- .../nightscout/plugins/aps/loop/LoopPlugin.kt | 74 +-- .../openAPSAMA/DetermineBasalAdapterAMAJS.kt | 4 +- .../aps/openAPSAMA/OpenAPSAMAPlugin.kt | 34 +- .../openAPSSMB/DetermineBasalAdapterSMBJS.kt | 4 +- .../aps/openAPSSMB/OpenAPSSMBPlugin.kt | 38 +- .../DetermineBasalAdapterSMBDynamicISFJS.kt | 8 +- .../plugins/general/autotune/AutotuneCore.kt | 9 +- .../plugins/general/autotune/AutotuneFS.kt | 3 +- .../general/autotune/AutotuneFragment.kt | 84 ++-- .../plugins/general/autotune/AutotuneIob.kt | 3 +- .../general/autotune/AutotunePlugin.kt | 66 +-- .../plugins/general/autotune/AutotunePrep.kt | 7 +- .../general/autotune/data/ATProfile.kt | 9 +- .../nightscout/androidaps/HardLimitsMock.kt | 13 +- .../general/autotune/AutotuneCoreTest.kt | 13 +- .../general/autotune/AutotunePrepTest.kt | 13 +- plugins/automation/build.gradle | 13 +- .../automation/AutomationFragment.kt | 14 +- .../nightscout/automation/AutomationPlugin.kt | 8 +- .../automation/actions/ActionAlarm.kt | 6 +- .../actions/ActionCarePortalEvent.kt | 13 +- .../automation/actions/ActionLoopDisable.kt | 6 +- .../automation/actions/ActionLoopEnable.kt | 8 +- .../automation/actions/ActionLoopResume.kt | 8 +- .../automation/actions/ActionLoopSuspend.kt | 8 +- .../automation/actions/ActionNotification.kt | 4 +- .../automation/actions/ActionProfileSwitch.kt | 12 +- .../actions/ActionProfileSwitchPercent.kt | 14 +- .../automation/actions/ActionRunAutotune.kt | 25 +- .../automation/actions/ActionSendSMS.kt | 2 +- .../actions/ActionStartTempTarget.kt | 16 +- .../actions/ActionStopProcessing.kt | 2 +- .../actions/ActionStopTempTarget.kt | 8 +- .../automation/dialogs/BaseDialog.kt | 5 +- .../automation/elements/Comparator.kt | 4 +- .../automation/elements/ComparatorConnect.kt | 4 +- .../automation/elements/ComparatorExists.kt | 7 +- .../nightscout/automation/elements/InputBg.kt | 3 +- .../elements/InputCarePortalMenu.kt | 27 +- .../automation/elements/InputDateTime.kt | 6 +- .../automation/elements/InputDelta.kt | 2 +- .../automation/elements/InputDouble.kt | 3 +- .../automation/elements/InputDropdownMenu.kt | 3 +- .../automation/elements/InputDuration.kt | 7 +- .../automation/elements/InputInsulin.kt | 3 +- .../automation/elements/InputLocationMode.kt | 4 +- .../automation/elements/InputPercent.kt | 3 +- .../automation/elements/InputProfileName.kt | 5 +- .../automation/elements/InputTempTarget.kt | 3 +- .../automation/elements/InputTimeRange.kt | 3 +- .../automation/elements/LayoutBuilder.kt | 3 +- .../automation/elements/StaticLabel.kt | 5 +- .../nightscout/automation/triggers/Trigger.kt | 8 +- .../triggers/TriggerAutosensValue.kt | 9 +- .../automation/triggers/TriggerBTDevice.kt | 4 +- .../automation/triggers/TriggerBg.kt | 6 +- .../automation/triggers/TriggerBolusAgo.kt | 4 +- .../automation/triggers/TriggerCOB.kt | 9 +- .../automation/triggers/TriggerConnector.kt | 11 +- .../automation/triggers/TriggerIob.kt | 7 +- .../automation/triggers/TriggerLocation.kt | 5 +- .../triggers/TriggerProfilePercent.kt | 2 +- .../triggers/TriggerPumpLastConnection.kt | 7 +- .../triggers/TriggerRecurringTime.kt | 3 +- .../automation/triggers/TriggerTempTarget.kt | 4 +- .../triggers/TriggerTempTargetValue.kt | 4 +- .../automation/triggers/TriggerTime.kt | 11 +- .../automation/triggers/TriggerTimeRange.kt | 3 +- .../automation/triggers/TriggerWifiSsid.kt | 11 +- .../src/main/res/values/strings.xml | 1 - .../automation/actions/ActionAlarmTest.kt | 6 +- .../actions/ActionCarePortalEventTest.kt | 4 +- .../actions/ActionLoopDisableTest.kt | 6 +- .../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/ActionStopTempTargetTest.kt | 4 +- .../automation/actions/ActionsTestBase.kt | 4 +- .../automation/elements/StaticLabelTest.kt | 4 +- .../triggers/TriggerAutosensValueTest.kt | 4 +- .../triggers/TriggerBTDeviceTest.kt | 2 +- .../triggers/TriggerProfilePercentTest.kt | 2 +- .../automation/triggers/TriggerTimeTest.kt | 2 +- .../triggers/TriggerWifiSsidTest.kt | 2 +- plugins/configuration/build.gradle | 13 +- .../configuration/AndroidPermissionImpl.kt | 4 +- .../DaggerAppCompatActivityWithResult.kt | 2 +- .../activities/SingleFragmentActivity.kt | 2 +- .../configBuilder/ConfigBuilderFragment.kt | 4 +- .../configBuilder/ConfigBuilderPlugin.kt | 4 +- .../configBuilder/RunningConfigurationImpl.kt | 4 +- .../maintenance/ImportExportPrefsImpl.kt | 12 +- .../maintenance/MaintenanceFragment.kt | 6 +- .../maintenance/MaintenancePlugin.kt | 2 +- .../maintenance/PrefFileListProviderImpl.kt | 4 +- .../activities/PrefImportListActivity.kt | 4 +- .../dialogs/PrefImportSummaryDialog.kt | 14 +- .../formats/EncryptedPrefsFormat.kt | 2 +- .../configuration/setupwizard/SWDefinition.kt | 64 +-- .../elements/SWEditEncryptedPassword.kt | 9 +- .../setupwizard/elements/SWEditUrl.kt | 3 +- plugins/main/build.gradle | 12 +- .../objectives/ObjectivesFragment.kt | 30 +- .../objectives/ObjectivesPlugin.kt | 20 +- .../objectives/dialogs/NtpProgressDialog.kt | 9 +- .../objectives/objectives/Objective.kt | 8 +- .../objectives/objectives/Objective0.kt | 6 +- .../objectives/objectives/Objective1.kt | 10 +- .../objectives/objectives/Objective2.kt | 4 +- .../objectives/objectives/Objective3.kt | 4 +- .../objectives/objectives/Objective6.kt | 2 +- .../constraints/safety/SafetyPlugin.kt | 50 +- .../extensions/PumpEnactResultExtension.kt | 32 +- .../general/actions/ActionsFragment.kt | 28 +- .../plugins/general/actions/ActionsPlugin.kt | 2 +- .../plugins/general/food/FoodFragment.kt | 30 +- .../plugins/general/food/FoodPlugin.kt | 2 +- .../general/overview/OverviewFragment.kt | 128 ++--- .../general/overview/OverviewMenusImpl.kt | 22 +- .../general/overview/OverviewPlugin.kt | 78 +-- .../activities/QuickWizardListActivity.kt | 14 +- .../overview/dialogs/EditQuickWizardDialog.kt | 2 +- .../general/overview/graphData/GraphData.kt | 5 +- .../notifications/NotificationStore.kt | 20 +- .../notifications/NotificationWithAction.kt | 8 +- .../PersistentNotificationPlugin.kt | 10 +- .../smsCommunicator/SmsCommunicatorPlugin.kt | 54 +- .../smsCommunicator/otp/OneTimePassword.kt | 10 +- .../general/themes/ThemeSwitcherPlugin.kt | 4 +- .../plugins/general/wear/WearPlugin.kt | 6 +- .../wear/wearintegration/DataHandlerMobile.kt | 140 +++--- .../DataLayerListenerServiceMobile.kt | 4 +- .../xdripStatusline/StatusLinePlugin.kt | 2 +- .../plugins/insulin/InsulinFragment.kt | 3 +- .../IobCobCalculatorPlugin.kt | 18 +- .../plugins/profile/ProfileFragment.kt | 24 +- .../plugins/profile/ProfilePlugin.kt | 12 +- .../pump/virtual/VirtualPumpFragment.kt | 6 +- .../plugins/pump/virtual/VirtualPumpPlugin.kt | 30 +- .../nightscout/plugins/source/AidexPlugin.kt | 2 +- .../plugins/source/BGSourceFragment.kt | 8 +- .../nightscout/plugins/source/DexcomPlugin.kt | 6 +- .../plugins/source/EversensePlugin.kt | 4 +- .../nightscout/plugins/source/GlimpPlugin.kt | 4 +- .../plugins/source/GlunovoPlugin.kt | 6 +- .../plugins/source/IntelligoPlugin.kt | 6 +- .../nightscout/plugins/source/MM640gPlugin.kt | 4 +- .../plugins/source/NSClientSourcePlugin.kt | 4 +- .../plugins/source/PoctechPlugin.kt | 4 +- .../plugins/source/RandomBgPlugin.kt | 2 +- .../nightscout/plugins/source/TomatoPlugin.kt | 4 +- .../nightscout/plugins/source/XdripPlugin.kt | 4 +- .../plugins/ui/StatusLightHandler.kt | 26 +- .../nightscout/plugins/ui/TimeListEdit.java | 4 +- .../nightscout/androidaps/HardLimitsMock.kt | 13 +- .../SmsCommunicatorPluginTest.kt | 18 +- .../pump/virtual/VirtualPumpPluginUTest.kt | 7 +- plugins/openhumans/build.gradle | 10 +- plugins/sensitivity/build.gradle | 11 +- .../sensitivity/AbstractSensitivityPlugin.kt | 6 +- .../sensitivity/SensitivityAAPSPlugin.kt | 40 +- .../sensitivity/SensitivityOref1Plugin.kt | 30 +- .../SensitivityWeightedAveragePlugin.kt | 40 +- plugins/support/build.gradle | 10 +- .../constraints/dstHelper/DstHelperPlugin.kt | 4 +- .../versionChecker/VersionCheckerPlugin.kt | 4 +- .../versionChecker/VersionCheckerUtilsImpl.kt | 6 +- plugins/sync/build.gradle | 12 +- .../plugins/sync/nsShared/NSClientFragment.kt | 4 +- .../sync/nsShared/StoreDataForDbImpl.kt | 5 +- .../DataSyncSelectorImplementation.kt | 2 +- .../plugins/sync/nsclient/NSClientPlugin.kt | 10 +- .../nsclient/data/NSDeviceStatusHandler.kt | 3 +- .../nsclient/data/NSSettingsStatusImpl.kt | 18 +- .../data/ProcessedDeviceStatusDataImpl.kt | 16 +- .../sync/nsclient/services/NSClientService.kt | 20 +- .../workers/NSClientAddUpdateWorker.kt | 15 +- .../nsclient/workers/NSClientMbgWorker.kt | 4 +- .../sync/nsclientV3/NSClientV3Plugin.kt | 12 +- .../sync/nsclientV3/workers/LoadBgWorker.kt | 4 +- .../workers/ProcessTreatmentsWorker.kt | 15 +- .../plugins/sync/tidepool/TidepoolPlugin.kt | 2 +- pump/combo/build.gradle | 10 +- .../nightscout/pump/combo/ComboFragment.kt | 42 +- .../nightscout/pump/combo/ComboPlugin.java | 32 +- .../nightscout/pump/combo/ComboPluginTest.kt | 2 +- pump/combov2/build.gradle | 8 +- pump/combov2/comboctl/build.gradle | 2 +- .../pump/combov2/ComboV2Fragment.kt | 18 +- .../nightscout/pump/combov2/ComboV2Plugin.kt | 24 +- pump/dana/build.gradle | 12 +- .../info/nightscout/pump/dana/DanaFragment.kt | 12 +- .../dana/activities/DanaHistoryActivity.kt | 8 +- .../activities/DanaUserOptionsActivity.kt | 2 +- pump/danar/build.gradle | 13 +- .../danaRKorean/DanaRKoreanPlugin.kt | 16 +- .../comm/MsgInitConnStatusBasic_k.kt | 5 +- .../comm/MsgInitConnStatusBolus_k.kt | 3 +- .../comm/MsgInitConnStatusTime_k.kt | 5 +- .../services/DanaRKoreanExecutionService.java | 33 +- .../androidaps/danaRv2/DanaRv2Plugin.java | 34 +- .../danaRv2/comm/MsgCheckValue_v2.kt | 9 +- .../danaRv2/comm/MsgHistoryEventsV2.kt | 3 +- .../services/DanaRv2ExecutionService.java | 53 +- .../androidaps/danar/AbstractDanaRPlugin.java | 46 +- .../androidaps/danar/DanaRPlugin.java | 16 +- .../androidaps/danar/comm/MsgBolusProgress.kt | 3 +- .../androidaps/danar/comm/MsgBolusStop.kt | 5 +- .../androidaps/danar/comm/MsgError.kt | 11 +- .../danar/comm/MsgInitConnStatusBolus.kt | 3 +- .../danar/comm/MsgInitConnStatusOption.kt | 3 +- .../danar/comm/MsgInitConnStatusTime.kt | 5 +- .../danar/comm/MsgSetBasalProfile.kt | 5 +- .../danar/comm/MsgSetSingleBasalProfile.kt | 5 +- .../androidaps/danar/comm/MsgSettingMeal.kt | 5 +- .../AbstractDanaRExecutionService.java | 10 +- .../danar/services/DanaRExecutionService.java | 37 +- .../plugins/pump/danaR/DanaRPluginTest.kt | 11 +- .../pump/danaR/comm/MsgBolusProgressTest.kt | 3 +- .../pump/danaR/comm/MsgBolusStopTest.kt | 3 +- .../pump/danaRKorean/DanaRKoreanPluginTest.kt | 11 +- .../plugins/pump/danaRv2/DanaRv2PluginTest.kt | 12 +- pump/danars/build.gradle | 12 +- .../nightscout/pump/danars/DanaRSPlugin.kt | 90 ++-- .../pump/danars/activities/BLEScanActivity.kt | 12 +- .../danars/activities/EnterPinActivity.kt | 15 +- .../comm/DanaRSPacketAPSHistoryEvents.kt | 7 +- .../comm/DanaRSPacketBasalGetBasalRate.kt | 3 +- .../comm/DanaRSPacketBolusGetBolusOption.kt | 3 +- .../comm/DanaRSPacketBolusSetStepBolusStop.kt | 5 +- .../comm/DanaRSPacketGeneralGetPumpCheck.kt | 3 +- .../danars/comm/DanaRSPacketNotifyAlarm.kt | 27 +- .../DanaRSPacketNotifyDeliveryComplete.kt | 3 +- .../DanaRSPacketNotifyDeliveryRateDisplay.kt | 3 +- .../danars/dialogs/PairingProgressDialog.kt | 7 +- .../pump/danars/services/BLEComm.kt | 65 ++- .../pump/danars/services/DanaRSService.kt | 55 +- .../pump/danars/DanaRSPluginTest.kt | 6 +- pump/diaconn/build.gradle | 10 +- .../pump/diaconn/DiaconnG8Fragment.kt | 12 +- .../pump/diaconn/DiaconnG8Plugin.kt | 40 +- .../activities/DiaconnG8BLEScanActivity.kt | 4 +- .../activities/DiaconnG8HistoryActivity.kt | 8 +- .../DiaconnG8UserOptionsActivity.kt | 6 +- .../pump/diaconn/service/BLECommonService.kt | 8 +- .../pump/diaconn/service/DiaconnG8Service.kt | 4 +- pump/eopatch/build.gradle | 8 +- .../plugins/pump/eopatch/EopatchPumpPlugin.kt | 22 +- .../pump/eopatch/alarm/AlarmManager.kt | 4 +- .../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 - .../src/main/res/values-es-rES/strings.xml | 1 - .../src/main/res/values-fr-rFR/strings.xml | 1 - .../src/main/res/values-hr-rHR/strings.xml | 1 - .../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 | 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 - pump/eopatch/src/main/res/values/strings.xml | 1 - pump/medtronic/build.gradle | 11 +- .../pump/medtronic/MedtronicFragment.kt | 22 +- .../pump/medtronic/MedtronicPumpPlugin.kt | 12 +- .../dialog/MedtronicHistoryActivity.kt | 2 +- pump/omnipod-common/build.gradle | 10 +- .../fragment/info/AttachPodFragment.kt | 2 +- .../activity/OmnipodWizardActivityBase.kt | 2 +- .../common/fragment/WizardFragmentBase.kt | 2 +- .../fragment/action/DeactivatePodFragment.kt | 2 +- pump/omnipod-dash/build.gradle | 11 +- .../omnipod/dash/OmnipodDashPumpPlugin.kt | 74 +-- .../omnipod/dash/ui/DashPodHistoryActivity.kt | 12 +- .../dash/ui/DashPodManagementActivity.kt | 19 +- .../dash/ui/OmnipodDashOverviewFragment.kt | 158 +++--- .../action/DashInitializePodViewModel.kt | 6 +- .../action/DashInsertCannulaViewModel.kt | 9 +- .../viewmodel/info/DashAttachPodViewModel.kt | 5 +- .../info/DashPodActivatedViewModel.kt | 5 +- .../info/DashStartPodActivationViewModel.kt | 2 +- .../info/DashPodDeactivatedViewModel.kt | 5 +- .../info/DashPodDiscardedViewModel.kt | 5 +- .../info/DashStartPodDeactivationViewModel.kt | 5 +- .../pod/command/SetUniqueIdCommandTest.kt | 2 +- pump/omnipod-eros/build.gradle | 11 +- .../omnipod/eros/OmnipodErosPumpPlugin.java | 36 +- .../definition/OmnipodErosStorageKeys.java | 24 +- .../eros/definition/PodHistoryEntryType.java | 45 +- .../eros/manager/AapsOmnipodErosManager.java | 52 +- .../eros/ui/ErosPodHistoryActivity.java | 2 +- .../eros/ui/ErosPodManagementActivity.kt | 24 +- .../eros/ui/OmnipodErosOverviewFragment.kt | 134 ++--- .../action/ErosInitializePodViewModel.kt | 2 +- .../action/ErosInsertCannulaViewModel.kt | 5 +- .../viewmodel/info/ErosAttachPodViewModel.kt | 5 +- .../info/ErosPodActivatedViewModel.kt | 5 +- .../info/ErosStartPodActivationViewModel.kt | 2 +- .../info/ErosPodDeactivatedViewModel.kt | 5 +- .../info/ErosPodDiscardedViewModel.kt | 5 +- .../info/ErosStartPodDeactivationViewModel.kt | 5 +- .../omnipod/eros/util/AapsOmnipodUtil.java | 15 +- pump/pump-common/build.gradle | 10 +- .../pump/common/PumpPluginAbstract.kt | 2 +- .../pump/common/defs/PumpDriverState.kt | 8 +- .../pump/common/ui/PumpHistoryActivity.kt | 2 +- .../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 | 1 - .../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 | 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-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/strings.xml | 2 +- pump/pump-core/build.gradle | 10 +- pump/rileylink/build.gradle | 10 +- settings.gradle | 2 +- ui/build.gradle | 10 +- .../ui/activities/ErrorHelperActivity.kt | 5 +- .../ui/activities/ProfileHelperActivity.kt | 20 +- .../nightscout/ui/activities/StatsActivity.kt | 4 +- .../ui/activities/SurveyActivity.kt | 2 +- .../ui/activities/TDDStatsActivity.kt | 101 ++-- .../fragments/TreatmentsBolusCarbsFragment.kt | 32 +- .../fragments/TreatmentsCareportalFragment.kt | 18 +- .../TreatmentsExtendedBolusesFragment.kt | 20 +- .../TreatmentsProfileSwitchFragment.kt | 18 +- .../fragments/TreatmentsTempTargetFragment.kt | 14 +- .../TreatmentsTemporaryBasalsFragment.kt | 21 +- .../fragments/TreatmentsUserEntryFragment.kt | 2 +- .../ui/activityMonitor/ActivityMonitor.kt | 6 +- .../nightscout/ui/alertDialogs/ErrorDialog.kt | 5 +- .../ui/dialogs/BolusProgressDialog.kt | 9 +- .../ui/dialogs/CalibrationDialog.kt | 13 +- .../info/nightscout/ui/dialogs/CarbsDialog.kt | 58 +-- .../info/nightscout/ui/dialogs/CareDialog.kt | 48 +- .../ui/dialogs/DialogFragmentWithDate.kt | 17 +- .../ui/dialogs/ExtendedBolusDialog.kt | 10 +- .../info/nightscout/ui/dialogs/FillDialog.kt | 18 +- .../nightscout/ui/dialogs/InsulinDialog.kt | 46 +- .../info/nightscout/ui/dialogs/LoopDialog.kt | 38 +- .../ui/dialogs/ProfileSwitchDialog.kt | 26 +- .../ui/dialogs/ProfileViewerDialog.kt | 30 +- .../nightscout/ui/dialogs/TempBasalDialog.kt | 16 +- .../nightscout/ui/dialogs/TempTargetDialog.kt | 54 +- .../nightscout/ui/dialogs/TreatmentDialog.kt | 20 +- .../nightscout/ui/dialogs/WizardDialog.kt | 52 +- .../nightscout/ui/dialogs/WizardInfoDialog.kt | 20 +- .../java/info/nightscout/ui/widget/Widget.kt | 50 +- wear/build.gradle | 6 +- .../androidaps/comm/DataHandlerWear.kt | 4 +- .../comm/DataLayerListenerServiceWear.kt | 10 +- .../interaction/actions/BolusActivity.kt | 8 +- .../interaction/actions/TreatmentActivity.kt | 8 +- .../tile/source/TempTargetSource.kt | 4 +- .../watchfaces/SteampunkWatchface.kt | 4 +- workflow/build.gradle | 10 +- .../workflow/PrepareBasalDataWorker.kt | 8 +- .../PrepareIobAutosensGraphDataWorker.kt | 42 +- .../PrepareTemporaryTargetDataWorker.kt | 2 +- .../workflow/iob/CarbsInPastExtension.kt | 4 +- .../workflow/iob/IobCobOref1Worker.kt | 5 +- .../workflow/iob/IobCobOrefWorker.kt | 3 +- 799 files changed, 3839 insertions(+), 14159 deletions(-) delete mode 100644 app/src/main/res/layout/close.xml delete mode 100644 app/src/main/res/values-af-rZA/validator.xml delete mode 100644 app/src/main/res/values-bg-rBG/validator.xml delete mode 100644 app/src/main/res/values-cs-rCZ/validator.xml delete mode 100644 app/src/main/res/values-de-rDE/validator.xml delete mode 100644 app/src/main/res/values-el-rGR/validator.xml delete mode 100644 app/src/main/res/values-es-rES/validator.xml delete mode 100644 app/src/main/res/values-fi-rFI/validator.xml delete mode 100644 app/src/main/res/values-fr-rFR/validator.xml delete mode 100644 app/src/main/res/values-ga-rIE/validator.xml delete mode 100644 app/src/main/res/values-hr-rHR/validator.xml delete mode 100644 app/src/main/res/values-it-rIT/validator.xml delete mode 100644 app/src/main/res/values-iw-rIL/validator.xml delete mode 100644 app/src/main/res/values-ja-rJP/validator.xml delete mode 100644 app/src/main/res/values-ko-rKR/validator.xml delete mode 100644 app/src/main/res/values-lt-rLT/validator.xml delete mode 100644 app/src/main/res/values-nl-rNL/validator.xml delete mode 100644 app/src/main/res/values-pl-rPL/validator.xml delete mode 100644 app/src/main/res/values-pt-rBR/validator.xml delete mode 100644 app/src/main/res/values-pt-rPT/validator.xml delete mode 100644 app/src/main/res/values-ro-rRO/validator.xml delete mode 100644 app/src/main/res/values-ru-rRU/validator.xml delete mode 100644 app/src/main/res/values-sk-rSK/validator.xml delete mode 100644 app/src/main/res/values-sl-rSI/validator.xml delete mode 100644 app/src/main/res/values-sv-rSE/validator.xml delete mode 100644 app/src/main/res/values-tr-rTR/validator.xml delete mode 100644 app/src/main/res/values-zh-rCN/validator.xml delete mode 100644 core/core-main/src/main/java/info/nightscout/core/pump/PumpEnactResultExtension.kt delete mode 100644 core/core-main/src/main/res/values-af-rZA/strings.xml delete mode 100644 core/core-main/src/main/res/values-ar-rSA/strings.xml delete mode 100644 core/core-main/src/main/res/values-bg-rBG/strings.xml delete mode 100644 core/core-main/src/main/res/values-ca-rES/strings.xml delete mode 100644 core/core-main/src/main/res/values-cs-rCZ/strings.xml delete mode 100644 core/core-main/src/main/res/values-cy-rGB/strings.xml delete mode 100644 core/core-main/src/main/res/values-da-rDK/strings.xml delete mode 100644 core/core-main/src/main/res/values-de-rDE/strings.xml delete mode 100644 core/core-main/src/main/res/values-el-rGR/strings.xml delete mode 100644 core/core-main/src/main/res/values-es-rES/strings.xml delete mode 100644 core/core-main/src/main/res/values-fi-rFI/strings.xml delete mode 100644 core/core-main/src/main/res/values-fr-rFR/strings.xml delete mode 100644 core/core-main/src/main/res/values-ga-rIE/strings.xml delete mode 100644 core/core-main/src/main/res/values-ga-rIE/validator.xml delete mode 100644 core/core-main/src/main/res/values-hr-rHR/strings.xml delete mode 100644 core/core-main/src/main/res/values-hr-rHR/validator.xml delete mode 100644 core/core-main/src/main/res/values-hu-rHU/strings.xml delete mode 100644 core/core-main/src/main/res/values-hu-rHU/validator.xml delete mode 100644 core/core-main/src/main/res/values-it-rIT/strings.xml delete mode 100644 core/core-main/src/main/res/values-iw-rIL/strings.xml delete mode 100644 core/core-main/src/main/res/values-ja-rJP/strings.xml delete mode 100644 core/core-main/src/main/res/values-ja-rJP/validator.xml delete mode 100644 core/core-main/src/main/res/values-ko-rKR/strings.xml delete mode 100644 core/core-main/src/main/res/values-lt-rLT/strings.xml delete mode 100644 core/core-main/src/main/res/values-nl-rNL/strings.xml delete mode 100644 core/core-main/src/main/res/values-no-rNO/strings.xml delete mode 100644 core/core-main/src/main/res/values-pl-rPL/strings.xml delete mode 100644 core/core-main/src/main/res/values-pt-rBR/strings.xml delete mode 100644 core/core-main/src/main/res/values-pt-rPT/strings.xml delete mode 100644 core/core-main/src/main/res/values-ro-rRO/strings.xml delete mode 100644 core/core-main/src/main/res/values-ru-rRU/strings.xml delete mode 100644 core/core-main/src/main/res/values-sk-rSK/strings.xml delete mode 100644 core/core-main/src/main/res/values-sl-rSI/strings.xml delete mode 100644 core/core-main/src/main/res/values-sl-rSI/validator.xml delete mode 100644 core/core-main/src/main/res/values-sr-rCS/strings.xml delete mode 100644 core/core-main/src/main/res/values-sr-rCS/validator.xml delete mode 100644 core/core-main/src/main/res/values-sv-rSE/strings.xml delete mode 100644 core/core-main/src/main/res/values-ta-rIN/strings.xml delete mode 100644 core/core-main/src/main/res/values-ta-rIN/validator.xml delete mode 100644 core/core-main/src/main/res/values-tr-rTR/strings.xml delete mode 100644 core/core-main/src/main/res/values-zh-rCN/strings.xml delete mode 100644 core/core-main/src/main/res/values/strings.xml rename core/{core-main => main}/.gitignore (100%) rename core/{core-main => main}/allopen_dependencies.gradle (100%) rename core/{core-main => main}/android_dependencies.gradle (100%) rename core/{core-main => main}/android_module_dependencies.gradle (100%) rename core/{core-main => main}/build.gradle (71%) rename core/{core-main => main}/consumer-rules.pro (100%) rename core/{core-main => main}/jacoco_global.gradle (100%) rename core/{core-main => main}/proguard-rules.pro (100%) rename core/{core-main => main}/src/main/AndroidManifest.xml (100%) rename core/{core-main => main}/src/main/java/info/nightscout/core/aps/APSResultObject.kt (87%) rename core/{core-main => main}/src/main/java/info/nightscout/core/di/CoreDataClassesModule.kt (100%) rename core/{core-main => main}/src/main/java/info/nightscout/core/di/CoreModule.kt (100%) rename core/{core-main => main}/src/main/java/info/nightscout/core/di/PreferencesModule.kt (100%) rename core/{core-main => main}/src/main/java/info/nightscout/core/events/EventIobCalculationProgress.kt (100%) rename core/{core-main => main}/src/main/java/info/nightscout/core/events/EventNewNotification.kt (100%) rename core/{core-main => main}/src/main/java/info/nightscout/core/extensions/BlockExtension.kt (100%) rename core/{core-main => main}/src/main/java/info/nightscout/core/extensions/BolusCalculatorResultExtension.kt (100%) rename core/{core-main => main}/src/main/java/info/nightscout/core/extensions/BolusExtension.kt (100%) rename core/{core-main => main}/src/main/java/info/nightscout/core/extensions/ExtendedBolusExtension.kt (100%) rename core/{core-main => main}/src/main/java/info/nightscout/core/extensions/FoodExtension.kt (100%) rename core/{core-main => main}/src/main/java/info/nightscout/core/extensions/GlucoseValueExtension.kt (100%) rename core/{core-main => main}/src/main/java/info/nightscout/core/extensions/JSONObjectExt.kt (100%) rename core/{core-main => main}/src/main/java/info/nightscout/core/extensions/ProfileSwitchExtension.kt (100%) rename core/{core-main => main}/src/main/java/info/nightscout/core/extensions/TemporaryBasalExtension.kt (100%) rename core/{core-main => main}/src/main/java/info/nightscout/core/extensions/TemporaryTargetExtension.kt (85%) rename core/{core-main => main}/src/main/java/info/nightscout/core/extensions/TherapyEventExtension.kt (100%) rename core/{core-main => main}/src/main/java/info/nightscout/core/extensions/TrendArrowIcon.kt (100%) rename core/{core-main => main}/src/main/java/info/nightscout/core/iob/CobInfoExtension.kt (89%) rename core/{core-main => main}/src/main/java/info/nightscout/core/iob/GlucoseStatusExtension.kt (100%) rename core/{core-main => main}/src/main/java/info/nightscout/core/iob/IobTotalExtension.kt (100%) rename core/{core-main => main}/src/main/java/info/nightscout/core/iob/iobCobCalculator/AutosensDataStoreObject.kt (100%) rename core/{core-main => main}/src/main/java/info/nightscout/core/iob/iobCobCalculator/GlucoseStatusProvider.kt (100%) rename core/{core-main => main}/src/main/java/info/nightscout/core/iob/iobCobCalculator/data/AutosensDataObject.kt (93%) rename core/{core-main => main}/src/main/java/info/nightscout/core/profile/ProfileSealed.kt (90%) rename core/{core-main => main}/src/main/java/info/nightscout/core/profile/ProfileStoreObject.kt (100%) create mode 100644 core/main/src/main/java/info/nightscout/core/pump/PumpEnactResultExtension.kt rename core/{core-main => main}/src/main/java/info/nightscout/core/pump/PumpTypeExtension.kt (100%) rename core/{core-main => main}/src/main/java/info/nightscout/core/services/AlarmSoundService.kt (95%) rename core/{core-main => main}/src/main/java/info/nightscout/core/services/AlarmSoundServiceHelper.kt (99%) rename core/{core-main => main}/src/main/java/info/nightscout/core/wizard/BolusWizard.kt (82%) rename core/{core-main => main}/src/main/java/info/nightscout/core/wizard/QuickWizard.kt (93%) rename core/{core-main => main}/src/main/java/info/nightscout/core/wizard/QuickWizardEntry.kt (97%) rename core/{core-main => main}/src/main/java/info/nightscout/core/workflow/CalculationWorkflow.kt (100%) rename core/{core-main => main}/src/main/res/drawable/anim_carbs.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_aaps.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_access_alarm_24dp.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_action.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_actions_start_extended_bolus.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_actions_start_temp_basal.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_add.xml (92%) rename core/{core-main => main}/src/main/res/drawable/ic_automation.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_autotune.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_blooddrop_48.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_bolus.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_calculator.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_calibration.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_clone.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_clone_48.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_compare_profiles.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_cp_announcement.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_cp_basal_no_tbr.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_cp_basal_tbr_high.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_cp_basal_tbr_low.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_cp_bgcheck.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_cp_bolus_carbs.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_cp_bolus_carbs_red.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_cp_cgm_insert.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_cp_exercise.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_cp_note.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_cp_pump_battery.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_cp_pump_cannula.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_cp_question.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_cp_stats.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_dexcom_g6.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_doubledown.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_doubleup.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_eversense.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_flat.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_food.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_fortyfivedown.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_fortyfiveup.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_generic_cgm.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_glimp.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_glunovo.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_graduation.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_header_key.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_ict.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_invalid.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_local_activate.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_local_profile.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_local_reset.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_loop_closed.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_loop_closed_off.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_loop_closed_white.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_nightscout_profile.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_notif_aaps.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_nsclient_bg.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_patch_pump_outline.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_poctech.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_quick_wizard.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_remove.xml (94%) rename core/{core-main => main}/src/main/res/drawable/ic_sensor.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_singledown.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_singleup.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_smartphone.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_sms.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_swap_vert_black_48dp_green.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_temptarget_high.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_trash_outline.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_treatments.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_trending_flat_white_48dp.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_virtual_pump.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_watch.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_x_swap_vert.xml (100%) rename core/{core-main => main}/src/main/res/drawable/ic_xdrip.xml (100%) rename core/{core-main => main}/src/main/res/drawable/icon_insulin_carbs.xml (100%) rename core/{core-main => main}/src/main/res/drawable/toast_border_ok.xml (100%) rename core/{core-main => main}/src/main/res/layout/passwordprompt.xml (100%) rename core/{core-main => main}/src/test/java/info/nightscout/androidaps/HardLimitsMock.kt (83%) rename core/{core-main => main}/src/test/java/info/nightscout/androidaps/ProfileStoreObject.kt (100%) rename core/{core-main => main}/src/test/java/info/nightscout/androidaps/TestBase.kt (100%) rename core/{core-main => main}/src/test/java/info/nightscout/androidaps/TestBaseWithProfile.kt (100%) rename core/{core-main => main}/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt (100%) rename core/{core-main => main}/src/test/java/info/nightscout/androidaps/data/ConstraintTest.kt (100%) rename core/{core-main => main}/src/test/java/info/nightscout/androidaps/data/DetailedBolusInfoTest.kt (100%) rename core/{core-main => main}/src/test/java/info/nightscout/androidaps/data/IobTest.kt (100%) rename core/{core-main => main}/src/test/java/info/nightscout/androidaps/data/IobTotalTest.kt (100%) rename core/{core-main => main}/src/test/java/info/nightscout/androidaps/data/MealDataTest.kt (100%) rename core/{core-main => main}/src/test/java/info/nightscout/androidaps/data/ProfileTest.kt (97%) rename core/{core-main => main}/src/test/java/info/nightscout/androidaps/extensions/BlockExtensionKtTest.kt (100%) rename core/{core-main => main}/src/test/java/info/nightscout/androidaps/interfaces/PluginDescriptionTest.kt (100%) rename core/{core-main => main}/src/test/java/info/nightscout/androidaps/interfaces/ProfileStoreTest.kt (100%) rename core/{core-main => main}/src/test/java/info/nightscout/androidaps/interfaces/PumpDescriptionTest.kt (100%) rename core/{core-main => main}/src/test/java/info/nightscout/androidaps/plugins/aps/loop/APSResultTest.kt (100%) rename core/{core-main => main}/src/test/java/info/nightscout/androidaps/plugins/iob/iobCalculator/GlucoseStatusTest.kt (100%) rename core/{core-main => main}/src/test/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensDataStoreTest.kt (100%) rename core/{core-main => main}/src/test/java/info/nightscout/androidaps/pump/common/utils/DateTimeUtilUTest.java (100%) rename core/{core-main => main}/src/test/java/info/nightscout/androidaps/utils/CryptoUtilTest.kt (100%) rename core/{core-main => main}/src/test/java/info/nightscout/androidaps/utils/DateUtilTest.kt (96%) rename core/{core-main => main}/src/test/java/info/nightscout/androidaps/utils/DecimalFormatterTest.kt (100%) rename core/{core-main => main}/src/test/java/info/nightscout/androidaps/utils/JsonHelperTest.kt (100%) rename core/{core-main => main}/src/test/java/info/nightscout/androidaps/utils/MidnightTimeTest.kt (100%) rename core/{core-main => main}/src/test/java/info/nightscout/androidaps/utils/RoundTest.kt (100%) rename core/{core-main => main}/src/test/java/info/nightscout/androidaps/utils/StringUtilsTest.kt (100%) rename core/{core-main => main}/src/test/java/info/nightscout/androidaps/utils/TTest.kt (100%) rename core/{core-main => main}/src/test/java/info/nightscout/core/wizard/BolusWizardTest.kt (100%) rename core/{core-main => main}/test_dependencies.gradle (100%) rename core/{core-main => ui}/src/main/res/layout/notes.xml (100%) rename core/{core-main => ui}/src/main/res/values-af-rZA/protection.xml (100%) rename core/{core-main => ui}/src/main/res/values-ar-rSA/protection.xml (100%) rename core/{core-main => ui}/src/main/res/values-bg-rBG/protection.xml (100%) rename core/{core-main => ui}/src/main/res/values-ca-rES/protection.xml (100%) rename core/{core-main => ui}/src/main/res/values-cs-rCZ/protection.xml (100%) rename core/{core-main => ui}/src/main/res/values-cy-rGB/protection.xml (100%) rename core/{core-main => ui}/src/main/res/values-da-rDK/protection.xml (100%) rename core/{core-main => ui}/src/main/res/values-de-rDE/protection.xml (100%) rename core/{core-main => ui}/src/main/res/values-el-rGR/protection.xml (100%) rename core/{core-main => ui}/src/main/res/values-es-rES/protection.xml (100%) rename core/{core-main => ui}/src/main/res/values-fi-rFI/protection.xml (100%) rename core/{core-main => ui}/src/main/res/values-fr-rFR/protection.xml (100%) rename core/{core-main => ui}/src/main/res/values-ga-rIE/protection.xml (100%) rename core/{core-main => ui}/src/main/res/values-hr-rHR/protection.xml (100%) rename core/{core-main => ui}/src/main/res/values-hu-rHU/protection.xml (100%) rename core/{core-main => ui}/src/main/res/values-it-rIT/protection.xml (100%) rename core/{core-main => ui}/src/main/res/values-iw-rIL/protection.xml (100%) rename core/{core-main => ui}/src/main/res/values-ja-rJP/protection.xml (100%) rename core/{core-main => ui}/src/main/res/values-ko-rKR/protection.xml (100%) rename core/{core-main => ui}/src/main/res/values-lt-rLT/protection.xml (100%) rename core/{core-main => ui}/src/main/res/values-nl-rNL/protection.xml (100%) rename core/{core-main => ui}/src/main/res/values-no-rNO/protection.xml (100%) rename core/{core-main => ui}/src/main/res/values-pl-rPL/protection.xml (100%) rename core/{core-main => ui}/src/main/res/values-pt-rBR/protection.xml (100%) rename core/{core-main => ui}/src/main/res/values-pt-rPT/protection.xml (100%) rename core/{core-main => ui}/src/main/res/values-ro-rRO/protection.xml (100%) rename core/{core-main => ui}/src/main/res/values-ru-rRU/protection.xml (100%) rename core/{core-main => ui}/src/main/res/values-sk-rSK/protection.xml (100%) rename core/{core-main => ui}/src/main/res/values-sl-rSI/protection.xml (100%) rename core/{core-main => ui}/src/main/res/values-sr-rCS/protection.xml (100%) rename core/{core-main => ui}/src/main/res/values-sv-rSE/protection.xml (100%) rename core/{core-main => ui}/src/main/res/values-tr-rTR/protection.xml (100%) rename core/{core-main => ui}/src/main/res/values-zh-rCN/protection.xml (100%) rename core/{core-main => ui}/src/main/res/values/arrays.xml (69%) rename core/{core-main => ui}/src/main/res/values/protection.xml (100%) create mode 100644 core/utils/src/main/res/values/arrays.xml rename core/{core-main => validators}/src/main/res/values-af-rZA/validator.xml (100%) rename core/{core-main => validators}/src/main/res/values-bg-rBG/validator.xml (100%) rename core/{core-main => validators}/src/main/res/values-ca-rES/validator.xml (100%) rename core/{core-main => validators}/src/main/res/values-cs-rCZ/validator.xml (100%) rename core/{core-main => validators}/src/main/res/values-da-rDK/validator.xml (100%) rename core/{core-main => validators}/src/main/res/values-de-rDE/validator.xml (100%) rename core/{core-main => validators}/src/main/res/values-el-rGR/validator.xml (100%) rename core/{core-main => validators}/src/main/res/values-es-rES/validator.xml (100%) rename core/{core-main => validators}/src/main/res/values-fr-rFR/validator.xml (100%) rename core/{core-main => validators}/src/main/res/values-it-rIT/validator.xml (100%) rename core/{core-main => validators}/src/main/res/values-iw-rIL/validator.xml (100%) rename core/{core-main => validators}/src/main/res/values-ko-rKR/validator.xml (100%) rename core/{core-main => validators}/src/main/res/values-lt-rLT/validator.xml (100%) rename core/{core-main => validators}/src/main/res/values-nl-rNL/validator.xml (100%) rename core/{core-main => validators}/src/main/res/values-no-rNO/validator.xml (100%) rename core/{core-main => validators}/src/main/res/values-pl-rPL/validator.xml (100%) rename core/{core-main => validators}/src/main/res/values-pt-rBR/validator.xml (100%) rename core/{core-main => validators}/src/main/res/values-pt-rPT/validator.xml (100%) rename core/{core-main => validators}/src/main/res/values-ro-rRO/validator.xml (100%) rename core/{core-main => validators}/src/main/res/values-ru-rRU/validator.xml (100%) rename core/{core-main => validators}/src/main/res/values-sk-rSK/validator.xml (100%) rename core/{core-main => validators}/src/main/res/values-sv-rSE/validator.xml (100%) rename core/{core-main => validators}/src/main/res/values-tr-rTR/validator.xml (100%) rename core/{core-main => validators}/src/main/res/values-zh-rCN/validator.xml (100%) rename core/{ui => validators}/src/main/res/values/fet_attrs.xml (100%) rename core/{ui => validators}/src/main/res/values/validator.xml (100%) diff --git a/app-wear-shared/shared-impl/build.gradle b/app-wear-shared/shared-impl/build.gradle index e1fd20a1d7..38c49c32a2 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/core-main/android_dependencies.gradle" -apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" android { diff --git a/app-wear-shared/shared/build.gradle b/app-wear-shared/shared/build.gradle index 0c1a53de8a..9228d00a27 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/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" +apply from: "${project.rootDir}/core/main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/main/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle" +apply from: "${project.rootDir}/core/main/test_dependencies.gradle" +apply from: "${project.rootDir}/core/main/jacoco_global.gradle" android { diff --git a/app/build.gradle b/app/build.gradle index 805bcc4293..79d8cc32b9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -11,8 +11,8 @@ plugins { } -apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" -apply from: "${project.rootDir}/core/core-main/jacoco_global.gradle" +apply from: "${project.rootDir}/core/main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/main/jacoco_global.gradle" repositories { mavenCentral() @@ -185,7 +185,7 @@ dependencies { // https://github.com/nightscout/iconify.git implementation project(':app-wear-shared:shared') implementation project(':app-wear-shared:shared-impl') - implementation project(':core:core-main') + implementation project(':core:main') implementation project(':core:graph') implementation project(':core:graphview') implementation project(':core:interfaces') @@ -236,7 +236,7 @@ dependencies { } -apply from: "${project.rootDir}/core/core-main/test_dependencies.gradle" +apply from: "${project.rootDir}/core/main/test_dependencies.gradle" /* diff --git a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt index 787b53a582..de431719af 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt @@ -124,7 +124,7 @@ class MainActivity : DaggerAppCompatActivityWithResult() { } // initialize screen wake lock - processPreferenceChange(EventPreferenceChange(rh.gs(R.string.key_keep_screen_on))) + processPreferenceChange(EventPreferenceChange(rh.gs(info.nightscout.plugins.R.string.key_keep_screen_on))) binding.mainPager.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() { override fun onPageScrollStateChanged(state: Int) {} override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {} @@ -175,7 +175,7 @@ class MainActivity : DaggerAppCompatActivityWithResult() { } private fun startWizard(): Boolean = - !sp.getBoolean(R.string.key_setupwizard_processed, false) + !sp.getBoolean(info.nightscout.configuration.R.string.key_setupwizard_processed, false) override fun onPostCreate(savedInstanceState: Bundle?, persistentState: PersistableBundle?) { super.onPostCreate(savedInstanceState, persistentState) @@ -199,13 +199,13 @@ class MainActivity : DaggerAppCompatActivityWithResult() { } private fun setWakeLock() { - val keepScreenOn = sp.getBoolean(R.string.key_keep_screen_on, false) + val keepScreenOn = sp.getBoolean(info.nightscout.plugins.R.string.key_keep_screen_on, false) if (keepScreenOn) window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) else window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) } private fun processPreferenceChange(ev: EventPreferenceChange) { - if (ev.isChanged(rh.gs(R.string.key_keep_screen_on))) setWakeLock() - if (ev.isChanged(rh.gs(R.string.key_skin))) recreate() + if (ev.isChanged(rh.gs(info.nightscout.plugins.R.string.key_keep_screen_on))) setWakeLock() + if (ev.isChanged(rh.gs(info.nightscout.plugins.R.string.key_skin))) recreate() } private fun setupViews() { @@ -221,7 +221,7 @@ class MainActivity : DaggerAppCompatActivityWithResult() { if (p.menuIcon != -1) { menuItem.setIcon(p.menuIcon) } else { - menuItem.setIcon(R.drawable.ic_settings) + menuItem.setIcon(info.nightscout.core.ui.R.drawable.ic_settings) } menuItem.setOnMenuItemClickListener { val intent = Intent(this, SingleFragmentActivity::class.java) @@ -237,10 +237,10 @@ class MainActivity : DaggerAppCompatActivityWithResult() { checkPluginPreferences(binding.mainPager) // Tabs - if (sp.getBoolean(R.string.key_short_tabtitles, false)) { + if (sp.getBoolean(info.nightscout.plugins.R.string.key_short_tabtitles, false)) { binding.tabsNormal.visibility = View.GONE binding.tabsCompact.visibility = View.VISIBLE - binding.toolbar.layoutParams = LinearLayout.LayoutParams(Toolbar.LayoutParams.MATCH_PARENT, resources.getDimension(R.dimen.compact_height).toInt()) + binding.toolbar.layoutParams = LinearLayout.LayoutParams(Toolbar.LayoutParams.MATCH_PARENT, resources.getDimension(info.nightscout.core.ui.R.dimen.compact_height).toInt()) TabLayoutMediator(binding.tabsCompact, binding.mainPager) { tab, position -> tab.text = (binding.mainPager.adapter as TabPageAdapter).getPluginAt(position).nameShort }.attach() @@ -248,7 +248,7 @@ class MainActivity : DaggerAppCompatActivityWithResult() { binding.tabsNormal.visibility = View.VISIBLE binding.tabsCompact.visibility = View.GONE val typedValue = TypedValue() - if (theme.resolveAttribute(R.attr.actionBarSize, typedValue, true)) { + if (theme.resolveAttribute(android.R.attr.actionBarSize, typedValue, true)) { binding.toolbar.layoutParams = LinearLayout.LayoutParams( Toolbar.LayoutParams.MATCH_PARENT, TypedValue.complexToDimensionPixelSize(typedValue.data, resources.displayMetrics) @@ -279,7 +279,7 @@ class MainActivity : DaggerAppCompatActivityWithResult() { private fun setDisabledMenuItemColorPluginPreferences() { if (pluginPreferencesMenuItem?.isEnabled == false) { val spanString = SpannableString(this.menu?.findItem(R.id.nav_plugin_preferences)?.title.toString()) - spanString.setSpan(ForegroundColorSpan(rh.gac(R.attr.disabledTextColor)), 0, spanString.length, 0) + spanString.setSpan(ForegroundColorSpan(rh.gac(info.nightscout.core.ui.R.attr.disabledTextColor)), 0, spanString.length, 0) this.menu?.findItem(R.id.nav_plugin_preferences)?.title = spanString } } @@ -350,17 +350,17 @@ class MainActivity : DaggerAppCompatActivityWithResult() { R.id.nav_about -> { 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 (config.isEngineeringMode()) message += "\n${rh.gs(R.string.engineering_mode_enabled)}" + message += "${rh.gs(info.nightscout.configuration.R.string.configbuilder_nightscoutversion_label)} ${nsSettingsStatus.getVersion()}" + if (config.isEngineeringMode()) message += "\n${rh.gs(info.nightscout.configuration.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) + message += rh.gs(info.nightscout.pump.combo.R.string.about_link_urls) val messageSpanned = SpannableString(message) Linkify.addLinks(messageSpanned, Linkify.WEB_URLS) - MaterialAlertDialogBuilder(this, R.style.DialogTheme) + MaterialAlertDialogBuilder(this, info.nightscout.core.ui.R.style.DialogTheme) .setTitle(rh.gs(R.string.app_name) + " " + BuildConfig.VERSION) .setIcon(iconsProvider.getIcon()) .setMessage(messageSpanned) - .setPositiveButton(rh.gs(R.string.ok), null) + .setPositiveButton(rh.gs(info.nightscout.core.ui.R.string.ok), null) .setNeutralButton(rh.gs(R.string.cta_dont_kill_my_app_info)) { _, _ -> startActivity( Intent( @@ -445,7 +445,7 @@ class MainActivity : DaggerAppCompatActivityWithResult() { .replace(".org/", ":") .replace(".net/", ":") fabricPrivacy.firebaseAnalytics.setUserProperty("Mode", BuildConfig.APPLICATION_ID + "-" + closedLoopEnabled) - fabricPrivacy.firebaseAnalytics.setUserProperty("Language", sp.getString(R.string.key_language, Locale.getDefault().language)) + fabricPrivacy.firebaseAnalytics.setUserProperty("Language", sp.getString(info.nightscout.core.ui.R.string.key_language, Locale.getDefault().language)) fabricPrivacy.firebaseAnalytics.setUserProperty("Version", BuildConfig.VERSION) fabricPrivacy.firebaseAnalytics.setUserProperty("HEAD", BuildConfig.HEAD) fabricPrivacy.firebaseAnalytics.setUserProperty("Remote", remote) @@ -466,7 +466,7 @@ class MainActivity : DaggerAppCompatActivityWithResult() { FirebaseCrashlytics.getInstance().setCustomKey("Remote", remote) FirebaseCrashlytics.getInstance().setCustomKey("Committed", BuildConfig.COMMITTED) FirebaseCrashlytics.getInstance().setCustomKey("Hash", hashes[0]) - FirebaseCrashlytics.getInstance().setCustomKey("Email", sp.getString(R.string.key_email_for_crash_report, "")) + FirebaseCrashlytics.getInstance().setCustomKey("Email", sp.getString(info.nightscout.core.utils.R.string.key_email_for_crash_report, "")) } /** @@ -477,9 +477,9 @@ class MainActivity : DaggerAppCompatActivityWithResult() { val passwordReset = File(fileListProvider.ensureExtraDirExists(), "PasswordReset") if (passwordReset.exists()) { val sn = activePlugin.activePump.serialNumber() - sp.putString(info.nightscout.core.main.R.string.key_master_password, cryptoUtil.hashPassword(sn)) + sp.putString(info.nightscout.core.utils.R.string.key_master_password, cryptoUtil.hashPassword(sn)) passwordReset.delete() - ToastUtils.okToast(context, context.getString(info.nightscout.core.main.R.string.password_set)) + ToastUtils.okToast(context, context.getString(info.nightscout.core.ui.R.string.password_set)) } } } diff --git a/app/src/main/java/info/nightscout/androidaps/MainApp.kt b/app/src/main/java/info/nightscout/androidaps/MainApp.kt index a5b7536629..a0c49d126b 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainApp.kt +++ b/app/src/main/java/info/nightscout/androidaps/MainApp.kt @@ -116,18 +116,18 @@ class MainApp : DaggerApplication() { handler.postDelayed( { // check if identification is set - if (config.isDev() && sp.getStringOrNull(R.string.key_email_for_crash_report, null).isNullOrBlank()) + if (config.isDev() && sp.getStringOrNull(info.nightscout.core.utils.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() // log app start - if (sp.getBoolean(R.string.key_ns_log_app_started_event, config.APS)) + if (sp.getBoolean(info.nightscout.plugins.sync.R.string.key_ns_log_app_started_event, config.APS)) disposable += repository .runTransaction( InsertIfNewByTimestampTherapyEventTransaction( timestamp = dateUtil.now(), type = TherapyEvent.Type.NOTE, - note = rh.get().gs(info.nightscout.core.main.R.string.androidaps_start) + " - " + Build.MANUFACTURER + " " + Build.MODEL, + note = rh.get().gs(info.nightscout.core.ui.R.string.androidaps_start) + " - " + Build.MANUFACTURER + " " + Build.MODEL, glucoseUnit = TherapyEvent.GlucoseUnit.MGDL ) ) @@ -189,32 +189,32 @@ class MainApp : DaggerApplication() { // set values for different builds if (!sp.contains(R.string.key_ns_alarms)) sp.putBoolean(R.string.key_ns_alarms, config.NSCLIENT) if (!sp.contains(R.string.key_ns_announcements)) sp.putBoolean(R.string.key_ns_announcements, config.NSCLIENT) - if (!sp.contains(R.string.key_language)) sp.putString(R.string.key_language, "default") + if (!sp.contains(info.nightscout.core.ui.R.string.key_language)) sp.putString(info.nightscout.core.ui.R.string.key_language, "default") // 3.1.0 if (sp.contains("ns_wifionly")) { if (sp.getBoolean("ns_wifionly", false)) { - sp.putBoolean(R.string.key_ns_cellular, false) - sp.putBoolean(R.string.key_ns_wifi, true) + sp.putBoolean(info.nightscout.plugins.sync.R.string.key_ns_cellular, false) + sp.putBoolean(info.nightscout.plugins.sync.R.string.key_ns_wifi, true) } else { - sp.putBoolean(R.string.key_ns_cellular, true) - sp.putBoolean(R.string.key_ns_wifi, false) + sp.putBoolean(info.nightscout.plugins.sync.R.string.key_ns_cellular, true) + sp.putBoolean(info.nightscout.plugins.sync.R.string.key_ns_wifi, false) } sp.remove("ns_wifionly") } if (sp.contains("ns_charginonly")) { if (sp.getBoolean("ns_charginonly", false)) { - sp.putBoolean(R.string.key_ns_battery, false) - sp.putBoolean(R.string.key_ns_charging, true) + sp.putBoolean(info.nightscout.plugins.sync.R.string.key_ns_battery, false) + sp.putBoolean(info.nightscout.plugins.sync.R.string.key_ns_charging, true) } else { - sp.putBoolean(R.string.key_ns_battery, true) - sp.putBoolean(R.string.key_ns_charging, true) + sp.putBoolean(info.nightscout.plugins.sync.R.string.key_ns_battery, true) + sp.putBoolean(info.nightscout.plugins.sync.R.string.key_ns_charging, true) } sp.remove("ns_charginonly") } - if (!sp.contains(R.string.key_ns_log_app_started_event)) - sp.putBoolean(R.string.key_ns_log_app_started_event, config.APS) - if (sp.getString(R.string.key_maintenance_logs_email, "") == "logs@androidaps.org") - sp.putString(R.string.key_maintenance_logs_email, "logs@aaps.app") + if (!sp.contains(info.nightscout.plugins.sync.R.string.key_ns_log_app_started_event)) + sp.putBoolean(info.nightscout.plugins.sync.R.string.key_ns_log_app_started_event, config.APS) + if (sp.getString(info.nightscout.configuration.R.string.key_maintenance_logs_email, "") == "logs@androidaps.org") + sp.putString(info.nightscout.configuration.R.string.key_maintenance_logs_email, "logs@aaps.app") } override fun applicationInjector(): AndroidInjector { 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 e956dbe90d..d276c41e23 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowseActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowseActivity.kt @@ -12,7 +12,6 @@ import com.google.android.material.datepicker.MaterialDatePicker import com.jjoe64.graphview.GraphView import dagger.android.HasAndroidInjector import dagger.android.support.DaggerAppCompatActivity -import info.nightscout.androidaps.R import info.nightscout.androidaps.databinding.ActivityHistorybrowseBinding import info.nightscout.core.events.EventIobCalculationProgress import info.nightscout.core.utils.fabric.FabricPrivacy @@ -110,7 +109,7 @@ class HistoryBrowseActivity : DaggerAppCompatActivity() { binding.date.setOnClickListener { MaterialDatePicker.Builder.datePicker() .setSelection(dateUtil.timeStampToUtcDateMillis(historyBrowserData.overviewData.fromTime)) - .setTheme(R.style.DatePicker) + .setTheme(info.nightscout.core.ui.R.style.DatePicker) .build() .apply { addOnPositiveButtonClickListener { selection -> @@ -130,7 +129,7 @@ class HistoryBrowseActivity : DaggerAppCompatActivity() { windowManager.defaultDisplay.getMetrics(dm) axisWidth = if (dm.densityDpi <= 120) 3 else if (dm.densityDpi <= 160) 10 else if (dm.densityDpi <= 320) 35 else if (dm.densityDpi <= 420) 50 else if (dm.densityDpi <= 560) 70 else 80 - binding.bgGraph.gridLabelRenderer?.gridColor = rh.gac(this, R.attr.graphGrid) + binding.bgGraph.gridLabelRenderer?.gridColor = rh.gac(this, info.nightscout.core.ui.R.attr.graphGrid) binding.bgGraph.gridLabelRenderer?.reloadStyles() binding.bgGraph.gridLabelRenderer?.labelVerticalWidth = axisWidth @@ -211,12 +210,12 @@ class HistoryBrowseActivity : DaggerAppCompatActivity() { val graph = GraphView(this) graph.layoutParams = LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, rh.dpToPx(100)).also { it.setMargins(0, rh.dpToPx(15), 0, rh.dpToPx(10)) } - graph.gridLabelRenderer?.gridColor = rh.gac(R.attr.graphGrid) + graph.gridLabelRenderer?.gridColor = rh.gac(info.nightscout.core.ui.R.attr.graphGrid) graph.gridLabelRenderer?.reloadStyles() graph.gridLabelRenderer?.isHorizontalLabelsVisible = false graph.gridLabelRenderer?.labelVerticalWidth = axisWidth graph.gridLabelRenderer?.numVerticalLabels = 3 - graph.viewport.backgroundColor = rh.gac(this, R.attr.viewPortBackgroundColor) + graph.viewport.backgroundColor = rh.gac(this, info.nightscout.core.ui.R.attr.viewPortBackgroundColor) relativeLayout.addView(graph) val label = TextView(this) 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 43b1b43b2e..c7354fa881 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt @@ -185,7 +185,7 @@ class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChang addPreferencesFromResource(pluginId, rootKey) } else { addPreferencesFromResource(R.xml.pref_general, rootKey) - addPreferencesFromResource(R.xml.pref_overview, rootKey) + addPreferencesFromResource(info.nightscout.plugins.R.xml.pref_overview, rootKey) addPreferencesFromResourceIfEnabled(safetyPlugin, rootKey) addPreferencesFromResourceIfEnabled(eversensePlugin, rootKey) addPreferencesFromResourceIfEnabled(dexcomPlugin, rootKey) @@ -224,7 +224,7 @@ class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChang addPreferencesFromResourceIfEnabled(wearPlugin, rootKey) addPreferencesFromResourceIfEnabled(statusLinePlugin, rootKey) addPreferencesFromResource(R.xml.pref_alerts, rootKey) - addPreferencesFromResource(R.xml.pref_datachoices, rootKey) + addPreferencesFromResource(info.nightscout.configuration.R.xml.pref_datachoices, rootKey) addPreferencesFromResourceIfEnabled(maintenancePlugin, rootKey) addPreferencesFromResourceIfEnabled(openHumansUploaderPlugin, rootKey) } @@ -235,21 +235,21 @@ class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChang override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences, key: String) { rxBus.send(EventPreferenceChange(key)) - if (key == rh.gs(R.string.key_language)) { + if (key == rh.gs(info.nightscout.core.ui.R.string.key_language)) { rxBus.send(EventRebuildTabs(true)) //recreate() does not update language so better close settings activity?.finish() } - if (key == rh.gs(R.string.key_short_tabtitles)) { + if (key == rh.gs(info.nightscout.plugins.R.string.key_short_tabtitles)) { rxBus.send(EventRebuildTabs()) } - if (key == rh.gs(R.string.key_units)) { + if (key == rh.gs(info.nightscout.core.utils.R.string.key_units)) { activity?.recreate() return } - if (key == rh.gs(R.string.key_openapsama_use_autosens) && sp.getBoolean(R.string.key_openapsama_use_autosens, false)) { + if (key == rh.gs(info.nightscout.plugins.aps.R.string.key_openapsama_use_autosens) && sp.getBoolean(info.nightscout.plugins.aps.R.string.key_openapsama_use_autosens, false)) { activity?.let { - OKDialog.show(it, rh.gs(R.string.configbuilder_sensitivity), rh.gs(R.string.sensitivity_warning)) + OKDialog.show(it, rh.gs(info.nightscout.configuration.R.string.configbuilder_sensitivity), rh.gs(R.string.sensitivity_warning)) } } checkForBiometricFallback(key) @@ -266,27 +266,27 @@ class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChang private fun checkForBiometricFallback(key: String) { // Biometric protection activated without set master password - if ((rh.gs(R.string.key_settings_protection) == key || - rh.gs(R.string.key_application_protection) == key || - rh.gs(R.string.key_bolus_protection) == key) && - sp.getString(R.string.key_master_password, "") == "" && + if ((rh.gs(info.nightscout.core.utils.R.string.key_settings_protection) == key || + rh.gs(info.nightscout.core.utils.R.string.key_application_protection) == key || + rh.gs(info.nightscout.core.utils.R.string.key_bolus_protection) == key) && + sp.getString(info.nightscout.core.utils.R.string.key_master_password, "") == "" && sp.getInt(key, NONE.ordinal) == BIOMETRIC.ordinal ) { 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)) + val title = rh.gs(info.nightscout.core.ui.R.string.unsecure_fallback_biometric) + val message = rh.gs(info.nightscout.configuration.R.string.master_password_missing, rh.gs(info.nightscout.configuration.R.string.configbuilder_general), rh.gs(info.nightscout.configuration.R.string.protection)) OKDialog.show(it, title = title, message = message) } } // Master password erased with activated Biometric protection - val isBiometricActivated = sp.getInt(R.string.key_settings_protection, NONE.ordinal) == BIOMETRIC.ordinal || - sp.getInt(R.string.key_application_protection, NONE.ordinal) == BIOMETRIC.ordinal || - sp.getInt(R.string.key_bolus_protection, NONE.ordinal) == BIOMETRIC.ordinal - if (rh.gs(R.string.key_master_password) == key && sp.getString(key, "") == "" && isBiometricActivated) { + val isBiometricActivated = sp.getInt(info.nightscout.core.utils.R.string.key_settings_protection, NONE.ordinal) == BIOMETRIC.ordinal || + sp.getInt(info.nightscout.core.utils.R.string.key_application_protection, NONE.ordinal) == BIOMETRIC.ordinal || + sp.getInt(info.nightscout.core.utils.R.string.key_bolus_protection, NONE.ordinal) == BIOMETRIC.ordinal + if (rh.gs(info.nightscout.core.utils.R.string.key_master_password) == key && sp.getString(key, "") == "" && isBiometricActivated) { activity?.let { - val title = rh.gs(R.string.unsecure_fallback_biometric) - val message = rh.gs(R.string.unsecure_fallback_descriotion_biometric) + val title = rh.gs(info.nightscout.core.ui.R.string.unsecure_fallback_biometric) + val message = rh.gs(info.nightscout.core.ui.R.string.unsecure_fallback_descriotion_biometric) OKDialog.show(it, title = title, message = message) } } @@ -316,11 +316,11 @@ class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChang private fun adjustUnitDependentPrefs(pref: Preference) { // convert preferences values to current units val unitDependent = arrayOf( - rh.gs(R.string.key_hypo_target), - rh.gs(R.string.key_activity_target), - rh.gs(R.string.key_eatingsoon_target), - rh.gs(R.string.key_high_mark), - rh.gs(R.string.key_low_mark) + rh.gs(info.nightscout.core.utils.R.string.key_hypo_target), + rh.gs(info.nightscout.core.utils.R.string.key_activity_target), + rh.gs(info.nightscout.core.utils.R.string.key_eatingsoon_target), + rh.gs(info.nightscout.core.utils.R.string.key_high_mark), + rh.gs(info.nightscout.core.utils.R.string.key_low_mark) ) if (unitDependent.toList().contains(pref.key) && pref is EditTextPreference) { val converted = Profile.toCurrentUnits(profileFunction, SafeParse.stringToDouble(pref.text)) @@ -351,29 +351,29 @@ class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChang if (pref is ListPreference) { pref.setSummary(pref.entry) // Preferences - if (pref.getKey() == rh.gs(R.string.key_settings_protection)) { - val pass: Preference? = findPreference(rh.gs(R.string.key_settings_password)) + if (pref.getKey() == rh.gs(info.nightscout.core.utils.R.string.key_settings_protection)) { + val pass: Preference? = findPreference(rh.gs(info.nightscout.core.utils.R.string.key_settings_password)) val usePassword = pref.value == CUSTOM_PASSWORD.ordinal.toString() pass?.let { it.isVisible = usePassword } - val pin: Preference? = findPreference(rh.gs(R.string.key_settings_pin)) + val pin: Preference? = findPreference(rh.gs(info.nightscout.core.utils.R.string.key_settings_pin)) val usePin = pref.value == CUSTOM_PIN.ordinal.toString() pin?.let { it.isVisible = usePin } } // Application - if (pref.getKey() == rh.gs(R.string.key_application_protection)) { - val pass: Preference? = findPreference(rh.gs(R.string.key_application_password)) + if (pref.getKey() == rh.gs(info.nightscout.core.utils.R.string.key_application_protection)) { + val pass: Preference? = findPreference(rh.gs(info.nightscout.core.utils.R.string.key_application_password)) val usePassword = pref.value == CUSTOM_PASSWORD.ordinal.toString() pass?.let { it.isVisible = usePassword } - val pin: Preference? = findPreference(rh.gs(R.string.key_application_pin)) + val pin: Preference? = findPreference(rh.gs(info.nightscout.core.utils.R.string.key_application_pin)) val usePin = pref.value == CUSTOM_PIN.ordinal.toString() pin?.let { it.isVisible = usePin } } // Bolus - if (pref.getKey() == rh.gs(R.string.key_bolus_protection)) { - val pass: Preference? = findPreference(rh.gs(R.string.key_bolus_password)) + if (pref.getKey() == rh.gs(info.nightscout.core.utils.R.string.key_bolus_protection)) { + val pass: Preference? = findPreference(rh.gs(info.nightscout.core.utils.R.string.key_bolus_password)) val usePassword = pref.value == CUSTOM_PASSWORD.ordinal.toString() pass?.let { it.isVisible = usePassword } - val pin: Preference? = findPreference(rh.gs(R.string.key_bolus_pin)) + val pin: Preference? = findPreference(rh.gs(info.nightscout.core.utils.R.string.key_bolus_pin)) val usePin = pref.value == CUSTOM_PIN.ordinal.toString() pin?.let { it.isVisible = usePin } } @@ -392,13 +392,13 @@ class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChang } val hmacPasswords = arrayOf( - rh.gs(R.string.key_bolus_password), - rh.gs(R.string.key_master_password), - rh.gs(R.string.key_application_password), - rh.gs(R.string.key_settings_password), - rh.gs(R.string.key_bolus_pin), - rh.gs(R.string.key_application_pin), - rh.gs(R.string.key_settings_pin) + rh.gs(info.nightscout.core.utils.R.string.key_bolus_password), + rh.gs(info.nightscout.core.utils.R.string.key_master_password), + rh.gs(info.nightscout.core.utils.R.string.key_application_password), + rh.gs(info.nightscout.core.utils.R.string.key_settings_password), + rh.gs(info.nightscout.core.utils.R.string.key_bolus_pin), + rh.gs(info.nightscout.core.utils.R.string.key_application_pin), + rh.gs(info.nightscout.core.utils.R.string.key_settings_pin) ) if (pref is Preference) { @@ -407,9 +407,9 @@ class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChang pref.summary = "******" } else { if (pref.key.contains("pin")) { - pref.summary = rh.gs(R.string.pin_not_set) + pref.summary = rh.gs(info.nightscout.core.ui.R.string.pin_not_set) } else { - pref.summary = rh.gs(R.string.password_not_set) + pref.summary = rh.gs(info.nightscout.core.ui.R.string.password_not_set) } } } @@ -438,38 +438,38 @@ class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChang override fun onPreferenceTreeClick(preference: Preference): Boolean { context?.let { context -> - if (preference.key == rh.gs(R.string.key_master_password)) { - passwordCheck.queryPassword(context, R.string.current_master_password, R.string.key_master_password, { - passwordCheck.setPassword(context, R.string.master_password, R.string.key_master_password) + if (preference.key == rh.gs(info.nightscout.core.utils.R.string.key_master_password)) { + passwordCheck.queryPassword(context, info.nightscout.configuration.R.string.current_master_password, info.nightscout.core.utils.R.string.key_master_password, { + passwordCheck.setPassword(context, info.nightscout.core.ui.R.string.master_password, info.nightscout.core.utils.R.string.key_master_password) }) return true } - if (preference.key == rh.gs(R.string.key_settings_password)) { - passwordCheck.setPassword(context, R.string.settings_password, R.string.key_settings_password) + if (preference.key == rh.gs(info.nightscout.core.utils.R.string.key_settings_password)) { + passwordCheck.setPassword(context, info.nightscout.core.ui.R.string.settings_password, info.nightscout.core.utils.R.string.key_settings_password) return true } - if (preference.key == rh.gs(R.string.key_bolus_password)) { - passwordCheck.setPassword(context, R.string.bolus_password, R.string.key_bolus_password) + if (preference.key == rh.gs(info.nightscout.core.utils.R.string.key_bolus_password)) { + passwordCheck.setPassword(context, info.nightscout.core.ui.R.string.bolus_password, info.nightscout.core.utils.R.string.key_bolus_password) return true } - if (preference.key == rh.gs(R.string.key_application_password)) { - passwordCheck.setPassword(context, R.string.application_password, R.string.key_application_password) + if (preference.key == rh.gs(info.nightscout.core.utils.R.string.key_application_password)) { + passwordCheck.setPassword(context, info.nightscout.core.ui.R.string.application_password, info.nightscout.core.utils.R.string.key_application_password) return true } - if (preference.key == rh.gs(R.string.key_settings_pin)) { - passwordCheck.setPassword(context, R.string.settings_pin, R.string.key_settings_pin, pinInput = true) + if (preference.key == rh.gs(info.nightscout.core.utils.R.string.key_settings_pin)) { + passwordCheck.setPassword(context, info.nightscout.core.ui.R.string.settings_pin, info.nightscout.core.utils.R.string.key_settings_pin, pinInput = true) return true } - if (preference.key == rh.gs(R.string.key_bolus_pin)) { - passwordCheck.setPassword(context, R.string.bolus_pin, R.string.key_bolus_pin, pinInput = true) + if (preference.key == rh.gs(info.nightscout.core.utils.R.string.key_bolus_pin)) { + passwordCheck.setPassword(context, info.nightscout.core.ui.R.string.bolus_pin, info.nightscout.core.utils.R.string.key_bolus_pin, pinInput = true) return true } - if (preference.key == rh.gs(R.string.key_application_pin)) { - passwordCheck.setPassword(context, R.string.application_pin, R.string.key_application_pin, pinInput = true) + if (preference.key == rh.gs(info.nightscout.core.utils.R.string.key_application_pin)) { + passwordCheck.setPassword(context, info.nightscout.core.ui.R.string.application_pin, info.nightscout.core.utils.R.string.key_application_pin, pinInput = true) return true } // NSClient copy settings - if (preference.key == rh.gs(R.string.key_statuslights_copy_ns)) { + if (preference.key == rh.gs(info.nightscout.plugins.R.string.key_statuslights_copy_ns)) { nsSettingStatus.copyStatusLightsNsSettings(context) return true } 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 ddcf04344d..7d38e2b6b9 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/PreferencesActivity.kt +++ b/app/src/main/java/info/nightscout/androidaps/activities/PreferencesActivity.kt @@ -22,11 +22,11 @@ class PreferencesActivity : DaggerAppCompatActivityWithResult(), PreferenceFragm override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - setTheme(R.style.AppTheme) + setTheme(info.nightscout.core.ui.R.style.AppTheme) binding = ActivityPreferencesBinding.inflate(layoutInflater) setContentView(binding.root) - title = rh.gs(R.string.nav_preferences) + title = rh.gs(info.nightscout.configuration.R.string.nav_preferences) supportActionBar?.setDisplayHomeAsUpEnabled(true) supportActionBar?.setDisplayShowHomeEnabled(true) myPreferenceFragment = MyPreferenceFragment() 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 2c259c9de9..59e72f03ee 100644 --- a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt +++ b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveWorker.kt @@ -17,7 +17,6 @@ import info.nightscout.androidaps.R import info.nightscout.configuration.maintenance.MaintenancePlugin import info.nightscout.core.profile.ProfileSealed import info.nightscout.core.utils.fabric.FabricPrivacy -import info.nightscout.interfaces.receivers.ReceiverStatusStore import info.nightscout.database.impl.AppRepository import info.nightscout.interfaces.Config import info.nightscout.interfaces.LocalAlertUtils @@ -29,6 +28,7 @@ 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.interfaces.receivers.ReceiverStatusStore import info.nightscout.rx.bus.RxBus import info.nightscout.rx.events.EventProfileSwitchChanged import info.nightscout.rx.logging.AAPSLogger @@ -197,10 +197,10 @@ class KeepAliveWorker( rxBus.send(EventProfileSwitchChanged()) } else if (isStatusOutdated && !pump.isBusy()) { lastReadStatus = dateUtil.now() - commandQueue.readStatus(rh.gs(R.string.keepalive_status_outdated), null) + commandQueue.readStatus(rh.gs(info.nightscout.core.ui.R.string.keepalive_status_outdated), null) } else if (isBasalOutdated && !pump.isBusy()) { lastReadStatus = dateUtil.now() - commandQueue.readStatus(rh.gs(R.string.keepalive_basal_outdated), null) + commandQueue.readStatus(rh.gs(info.nightscout.core.ui.R.string.keepalive_basal_outdated), null) } } } \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/workflow/CalculationWorkflowImpl.kt b/app/src/main/java/info/nightscout/androidaps/workflow/CalculationWorkflowImpl.kt index 57253c8794..6639e6c7d0 100644 --- a/app/src/main/java/info/nightscout/androidaps/workflow/CalculationWorkflowImpl.kt +++ b/app/src/main/java/info/nightscout/androidaps/workflow/CalculationWorkflowImpl.kt @@ -9,7 +9,6 @@ import androidx.work.WorkContinuation import androidx.work.WorkInfo import androidx.work.WorkManager import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.core.graph.OverviewData import info.nightscout.core.utils.fabric.FabricPrivacy import info.nightscout.core.utils.receivers.DataWorkerStorage @@ -89,11 +88,11 @@ class CalculationWorkflowImpl @Inject constructor( .toObservable(EventPreferenceChange::class.java) .observeOn(aapsSchedulers.io) .subscribe({ event -> - if (event.isChanged(rh.gs(R.string.key_units))) { + if (event.isChanged(rh.gs(info.nightscout.core.utils.R.string.key_units))) { overviewData.reset() rxBus.send(EventNewHistoryData(0, false)) } - if (event.isChanged(rh.gs(R.string.key_rangetodisplay))) { + if (event.isChanged(rh.gs(info.nightscout.core.utils.R.string.key_rangetodisplay))) { overviewData.initRange() runOnScaleChanged() rxBus.send(EventNewHistoryData(0, false)) diff --git a/app/src/main/res/layout/close.xml b/app/src/main/res/layout/close.xml deleted file mode 100644 index 2c67e92060..0000000000 --- a/app/src/main/res/layout/close.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - -