From 50aac4aae74c6f7a4d64c5648fc748133276b4c0 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Wed, 23 Nov 2022 13:45:55 +0100 Subject: [PATCH] cleanup core extensions --- .../nightscout/androidaps/di/AppComponent.kt | 1 + .../nightscout/androidaps/di/AppModule.kt | 39 ---------------- .../wear/wearintegration/DataHandlerMobile.kt | 4 +- .../extensions/TemporaryBasalExtension.kt | 2 +- .../extensions/TemporaryTargetExtension.kt | 3 -- .../androidaps/extensions/UserEntryExt.kt | 19 -------- .../implementation/di/ImplementationModule.kt | 44 +++++++++++++++++++ .../stats/DexcomTirCalculatorImpl.kt | 2 - .../implementation/stats/TddCalculatorImpl.kt | 2 - .../stats}/TotalDailyDoseExtension.kt | 2 +- .../ui/activities/TDDStatsActivity.kt | 4 +- 11 files changed, 53 insertions(+), 69 deletions(-) delete mode 100644 core/core-main/src/main/java/info/nightscout/androidaps/extensions/UserEntryExt.kt rename {core/core-main/src/main/java/info/nightscout/androidaps/extensions => implementation/src/main/java/info/nightscout/implementation/stats}/TotalDailyDoseExtension.kt (99%) diff --git a/app/src/main/java/info/nightscout/androidaps/di/AppComponent.kt b/app/src/main/java/info/nightscout/androidaps/di/AppComponent.kt index 5491a7fb64..bfffd00d04 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/AppComponent.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/AppComponent.kt @@ -55,6 +55,7 @@ import javax.inject.Singleton CoreModule::class, DatabaseModule::class, ImplementationModule::class, + ImplementationModule.Bindings::class, OpenHumansModule::class, PluginsModule::class, RxModule::class, diff --git a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt index 84acdf8b8f..9a60b1a3ed 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt @@ -16,28 +16,9 @@ import info.nightscout.androidaps.plugins.general.maintenance.ImportExportPrefsI import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin import info.nightscout.core.utils.fabric.FabricPrivacy import info.nightscout.database.impl.AppRepository -import info.nightscout.implementation.AndroidPermissionImpl -import info.nightscout.implementation.BolusTimerImpl -import info.nightscout.implementation.CarbTimerImpl -import info.nightscout.implementation.LocalAlertUtilsImpl -import info.nightscout.implementation.TrendCalculatorImpl -import info.nightscout.implementation.XDripBroadcastImpl -import info.nightscout.implementation.androidNotification.NotificationHolderImpl import info.nightscout.implementation.constraints.ConstraintsImpl -import info.nightscout.implementation.pump.PumpSyncImplementation -import info.nightscout.implementation.queue.CommandQueueImplementation -import info.nightscout.implementation.resources.IconsProviderImplementation -import info.nightscout.implementation.stats.DexcomTirCalculatorImpl -import info.nightscout.implementation.stats.TddCalculatorImpl -import info.nightscout.implementation.stats.TirCalculatorImpl -import info.nightscout.interfaces.AndroidPermission -import info.nightscout.interfaces.BolusTimer -import info.nightscout.interfaces.CarbTimer import info.nightscout.interfaces.Config import info.nightscout.interfaces.ConfigBuilder -import info.nightscout.interfaces.LocalAlertUtils -import info.nightscout.interfaces.NotificationHolder -import info.nightscout.interfaces.XDripBroadcast import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.autotune.Autotune import info.nightscout.interfaces.constraints.Constraints @@ -46,19 +27,12 @@ import info.nightscout.interfaces.maintenance.ImportExportPrefs import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.profile.ProfileFunction -import info.nightscout.interfaces.pump.PumpSync -import info.nightscout.interfaces.queue.CommandQueue import info.nightscout.interfaces.smsCommunicator.SmsCommunicator -import info.nightscout.interfaces.stats.DexcomTirCalculator -import info.nightscout.interfaces.stats.TddCalculator -import info.nightscout.interfaces.stats.TirCalculator import info.nightscout.interfaces.storage.FileStorage import info.nightscout.interfaces.storage.Storage import info.nightscout.interfaces.sync.DataSyncSelector import info.nightscout.interfaces.ui.ActivityNames -import info.nightscout.interfaces.ui.IconsProvider import info.nightscout.interfaces.utils.HardLimits -import info.nightscout.interfaces.utils.TrendCalculator import info.nightscout.plugins.aps.loop.LoopPlugin import info.nightscout.plugins.general.autotune.AutotunePlugin import info.nightscout.plugins.general.smsCommunicator.SmsCommunicatorPlugin @@ -125,29 +99,16 @@ open class AppModule { @Binds fun bindContext(mainApp: MainApp): Context @Binds fun bindInjector(mainApp: MainApp): HasAndroidInjector @Binds fun bindActivePlugin(pluginStore: PluginStore): ActivePlugin - @Binds fun bindCommandQueue(commandQueue: CommandQueueImplementation): CommandQueue @Binds fun bindConfigInterface(config: ConfigImpl): Config @Binds fun bindConfigBuilderInterface(configBuilderPlugin: ConfigBuilderPlugin): ConfigBuilder - @Binds fun bindNotificationHolderInterface(notificationHolder: NotificationHolderImpl): NotificationHolder @Binds fun bindImportExportPrefsInterface(importExportPrefs: ImportExportPrefsImpl): ImportExportPrefs - @Binds fun bindIconsProviderInterface(iconsProvider: IconsProviderImplementation): IconsProvider @Binds fun bindLoopInterface(loopPlugin: LoopPlugin): Loop @Binds fun bindAutotuneInterface(autotunePlugin: AutotunePlugin): Autotune @Binds fun bindIobCobCalculatorInterface(iobCobCalculatorPlugin: IobCobCalculatorPlugin): IobCobCalculator @Binds fun bindSmsCommunicatorInterface(smsCommunicatorPlugin: SmsCommunicatorPlugin): SmsCommunicator @Binds fun bindDataSyncSelectorInterface(dataSyncSelectorImplementation: DataSyncSelectorImplementation): DataSyncSelector - @Binds fun bindPumpSyncInterface(pumpSyncImplementation: PumpSyncImplementation): PumpSync - @Binds fun bindXDripBroadcastInterface(xDripBroadcastImpl: XDripBroadcastImpl): XDripBroadcast - @Binds fun bindCarbTimerInterface(carbTimer: CarbTimerImpl): CarbTimer - @Binds fun bindBolusTimerInterface(bolusTimer: BolusTimerImpl): BolusTimer - @Binds fun bindAndroidPermissionInterface(androidPermission: AndroidPermissionImpl): AndroidPermission - @Binds fun bindLocalAlertUtilsInterface(localAlertUtils: LocalAlertUtilsImpl): LocalAlertUtils @Binds fun bindActivityNamesInterface(activityNames: ActivityNamesImpl): ActivityNames - @Binds fun bindTrendCalculatorInterface(trendCalculator: TrendCalculatorImpl): TrendCalculator - @Binds fun bindTddCalculatorInterface(tddCalculator: TddCalculatorImpl): TddCalculator - @Binds fun bindTirCalculatorInterface(tirCalculator: TirCalculatorImpl): TirCalculator - @Binds fun bindDexcomTirCalculatorInterface(dexcomTirCalculator: DexcomTirCalculatorImpl): DexcomTirCalculator } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt index 2db5af7c54..e032a75121 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/DataHandlerMobile.kt @@ -6,7 +6,6 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.R import info.nightscout.androidaps.extensions.convertedToAbsolute import info.nightscout.androidaps.extensions.toStringShort -import info.nightscout.androidaps.extensions.total import info.nightscout.androidaps.extensions.valueToUnits import info.nightscout.androidaps.extensions.valueToUnitsString import info.nightscout.androidaps.logging.UserEntryLogger @@ -1056,6 +1055,9 @@ class DataHandlerMobile @Inject constructor( return historyList } + private val TotalDailyDose.total + get() = if (totalAmount > 0) totalAmount else basalAmount + bolusAmount + private fun generateTDDMessage(historyList: MutableList, dummies: MutableList): String { val profile = profileFunction.getProfile() ?: return "No profile loaded :(" if (historyList.isEmpty()) { diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt index 78aad88fc5..e924c8954c 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt @@ -30,7 +30,7 @@ fun TemporaryBasal.convertedToPercent(time: Long, profile: Profile): Int = if (!isAbsolute) rate.toInt() else (rate / profile.getBasal(time) * 100).toInt() -fun TemporaryBasal.netExtendedRate(profile: Profile) = rate - profile.getBasal(timestamp) +private fun TemporaryBasal.netExtendedRate(profile: Profile) = rate - profile.getBasal(timestamp) val TemporaryBasal.durationInMinutes get() = T.msecs(duration).mins() diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt index 425bf37baa..41a7850045 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt +++ b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt @@ -10,9 +10,6 @@ import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil import java.util.concurrent.TimeUnit -fun TemporaryTarget.isInProgress(dateUtil: DateUtil): Boolean = - dateUtil.now() in timestamp..timestamp + duration - fun TemporaryTarget.lowValueToUnitsToString(units: GlucoseUnit): String = if (units == GlucoseUnit.MGDL) DecimalFormatter.to0Decimal(this.lowTarget) else DecimalFormatter.to1Decimal(this.lowTarget * Constants.MGDL_TO_MMOLL) diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/UserEntryExt.kt b/core/core-main/src/main/java/info/nightscout/androidaps/extensions/UserEntryExt.kt deleted file mode 100644 index 3c52968d4f..0000000000 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/UserEntryExt.kt +++ /dev/null @@ -1,19 +0,0 @@ -package info.nightscout.androidaps.extensions - -import info.nightscout.core.main.R -import info.nightscout.database.entities.UserEntry.ColorGroup - -fun ColorGroup.colorId(): Int { - return when (this) { - ColorGroup.InsulinTreatment -> R.color.basal - ColorGroup.CarbTreatment -> R.color.carbs - ColorGroup.TT -> R.color.tempTargetConfirmation - ColorGroup.Profile -> R.color.white - ColorGroup.Loop -> R.color.loopClosed - ColorGroup.Careportal -> R.color.high - ColorGroup.Pump -> R.color.iob - ColorGroup.Aaps -> R.color.defaultText - else -> R.color.defaultText - } -} - diff --git a/implementation/src/main/java/info/nightscout/implementation/di/ImplementationModule.kt b/implementation/src/main/java/info/nightscout/implementation/di/ImplementationModule.kt index 56ef3d9246..098d45e6c2 100644 --- a/implementation/src/main/java/info/nightscout/implementation/di/ImplementationModule.kt +++ b/implementation/src/main/java/info/nightscout/implementation/di/ImplementationModule.kt @@ -1,6 +1,7 @@ package info.nightscout.implementation.di import android.content.Context +import dagger.Binds import dagger.Lazy import dagger.Module import dagger.Provides @@ -10,19 +11,38 @@ import info.nightscout.core.graph.OverviewData import info.nightscout.core.utils.CryptoUtil import info.nightscout.core.utils.fabric.FabricPrivacy import info.nightscout.database.impl.AppRepository +import info.nightscout.implementation.AndroidPermissionImpl +import info.nightscout.implementation.BolusTimerImpl +import info.nightscout.implementation.CarbTimerImpl import info.nightscout.implementation.DefaultValueHelperImpl import info.nightscout.implementation.HardLimitsImpl +import info.nightscout.implementation.LocalAlertUtilsImpl import info.nightscout.implementation.TranslatorImpl +import info.nightscout.implementation.TrendCalculatorImpl +import info.nightscout.implementation.XDripBroadcastImpl +import info.nightscout.implementation.androidNotification.NotificationHolderImpl import info.nightscout.implementation.logging.LoggerUtilsImpl import info.nightscout.implementation.maintenance.PrefFileListProviderImpl import info.nightscout.implementation.overview.OverviewDataImpl import info.nightscout.implementation.profiling.ProfilerImpl import info.nightscout.implementation.protection.PasswordCheckImpl import info.nightscout.implementation.protection.ProtectionCheckImpl +import info.nightscout.implementation.pump.PumpSyncImplementation import info.nightscout.implementation.pump.WarnColorsImpl +import info.nightscout.implementation.queue.CommandQueueImplementation +import info.nightscout.implementation.resources.IconsProviderImplementation import info.nightscout.implementation.resources.ResourceHelperImpl +import info.nightscout.implementation.stats.DexcomTirCalculatorImpl +import info.nightscout.implementation.stats.TddCalculatorImpl +import info.nightscout.implementation.stats.TirCalculatorImpl +import info.nightscout.interfaces.AndroidPermission +import info.nightscout.interfaces.BolusTimer +import info.nightscout.interfaces.CarbTimer import info.nightscout.interfaces.Config +import info.nightscout.interfaces.LocalAlertUtils +import info.nightscout.interfaces.NotificationHolder import info.nightscout.interfaces.Translator +import info.nightscout.interfaces.XDripBroadcast import info.nightscout.interfaces.logging.LoggerUtils import info.nightscout.interfaces.maintenance.PrefFileListProvider import info.nightscout.interfaces.plugin.ActivePlugin @@ -31,9 +51,16 @@ import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.profiling.Profiler import info.nightscout.interfaces.protection.PasswordCheck import info.nightscout.interfaces.protection.ProtectionCheck +import info.nightscout.interfaces.pump.PumpSync import info.nightscout.interfaces.pump.WarnColors +import info.nightscout.interfaces.queue.CommandQueue +import info.nightscout.interfaces.stats.DexcomTirCalculator +import info.nightscout.interfaces.stats.TddCalculator +import info.nightscout.interfaces.stats.TirCalculator import info.nightscout.interfaces.storage.Storage +import info.nightscout.interfaces.ui.IconsProvider import info.nightscout.interfaces.utils.HardLimits +import info.nightscout.interfaces.utils.TrendCalculator import info.nightscout.rx.bus.RxBus import info.nightscout.rx.logging.AAPSLogger import info.nightscout.shared.interfaces.ResourceHelper @@ -111,4 +138,21 @@ open class ImplementationModule { versionCheckerUtils: VersionCheckerUtils, context: Context ): PrefFileListProvider = PrefFileListProviderImpl(rh, config, encryptedPrefsFormat, storage, versionCheckerUtils, context) + + @Module + interface Bindings { + @Binds fun bindTrendCalculatorInterface(trendCalculator: TrendCalculatorImpl): TrendCalculator + @Binds fun bindTddCalculatorInterface(tddCalculator: TddCalculatorImpl): TddCalculator + @Binds fun bindTirCalculatorInterface(tirCalculator: TirCalculatorImpl): TirCalculator + @Binds fun bindDexcomTirCalculatorInterface(dexcomTirCalculator: DexcomTirCalculatorImpl): DexcomTirCalculator + @Binds fun bindPumpSyncInterface(pumpSyncImplementation: PumpSyncImplementation): PumpSync + @Binds fun bindXDripBroadcastInterface(xDripBroadcastImpl: XDripBroadcastImpl): XDripBroadcast + @Binds fun bindCarbTimerInterface(carbTimer: CarbTimerImpl): CarbTimer + @Binds fun bindBolusTimerInterface(bolusTimer: BolusTimerImpl): BolusTimer + @Binds fun bindAndroidPermissionInterface(androidPermission: AndroidPermissionImpl): AndroidPermission + @Binds fun bindLocalAlertUtilsInterface(localAlertUtils: LocalAlertUtilsImpl): LocalAlertUtils + @Binds fun bindIconsProviderInterface(iconsProvider: IconsProviderImplementation): IconsProvider + @Binds fun bindNotificationHolderInterface(notificationHolder: NotificationHolderImpl): NotificationHolder + @Binds fun bindCommandQueue(commandQueue: CommandQueueImplementation): CommandQueue + } } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirCalculatorImpl.kt b/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirCalculatorImpl.kt index a61f667eee..abd5647c32 100644 --- a/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirCalculatorImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/stats/DexcomTirCalculatorImpl.kt @@ -9,7 +9,6 @@ import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.stats.DexcomTIR import info.nightscout.interfaces.stats.DexcomTirCalculator import info.nightscout.interfaces.utils.MidnightTime -import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil import info.nightscout.shared.utils.T import javax.inject.Inject @@ -17,7 +16,6 @@ import javax.inject.Singleton @Singleton class DexcomTirCalculatorImpl @Inject constructor( - private val rh: ResourceHelper, private val profileFunction: ProfileFunction, private val dateUtil: DateUtil, private val repository: AppRepository diff --git a/implementation/src/main/java/info/nightscout/implementation/stats/TddCalculatorImpl.kt b/implementation/src/main/java/info/nightscout/implementation/stats/TddCalculatorImpl.kt index 442bb57f5e..dc608d3af2 100644 --- a/implementation/src/main/java/info/nightscout/implementation/stats/TddCalculatorImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/stats/TddCalculatorImpl.kt @@ -8,8 +8,6 @@ import android.view.ViewGroup import android.widget.TableLayout import android.widget.TableRow import android.widget.TextView -import info.nightscout.androidaps.extensions.toTableRow -import info.nightscout.androidaps.extensions.toTableRowHeader import info.nightscout.database.entities.Bolus import info.nightscout.database.entities.TotalDailyDose import info.nightscout.database.entities.embedments.InterfaceIDs diff --git a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TotalDailyDoseExtension.kt b/implementation/src/main/java/info/nightscout/implementation/stats/TotalDailyDoseExtension.kt similarity index 99% rename from core/core-main/src/main/java/info/nightscout/androidaps/extensions/TotalDailyDoseExtension.kt rename to implementation/src/main/java/info/nightscout/implementation/stats/TotalDailyDoseExtension.kt index 91033efeec..51f1380896 100644 --- a/core/core-main/src/main/java/info/nightscout/androidaps/extensions/TotalDailyDoseExtension.kt +++ b/implementation/src/main/java/info/nightscout/implementation/stats/TotalDailyDoseExtension.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.extensions +package info.nightscout.implementation.stats import android.annotation.SuppressLint import android.content.Context diff --git a/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt b/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt index b84cc229c7..16d4f0f9d0 100644 --- a/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt +++ b/ui/src/main/java/info/nightscout/ui/activities/TDDStatsActivity.kt @@ -15,7 +15,6 @@ import android.widget.TableLayout import android.widget.TableRow import android.widget.TextView import info.nightscout.androidaps.activities.NoSplashAppCompatActivity -import info.nightscout.androidaps.extensions.total import info.nightscout.core.main.R import info.nightscout.core.utils.fabric.FabricPrivacy import info.nightscout.database.entities.TotalDailyDose @@ -228,6 +227,9 @@ class TDDStatsActivity : NoSplashAppCompatActivity() { return super.dispatchTouchEvent(event) } + private val TotalDailyDose.total + get() = if (totalAmount > 0) totalAmount else basalAmount + bolusAmount + @SuppressLint("SetTextI18n") private fun loadDataFromDB() { historyList.clear()