From 97cd02d02161d75a212e10aac92b1fd3f2ec15fc Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 21 Nov 2022 11:48:26 +0100 Subject: [PATCH] cleanup --- .../nightscout/androidaps/di/AppModule.kt | 4 ++-- .../androidaps/utils/PercentageSplitter.kt | 20 ---------------- .../nightscout/androidaps/utils/SntpClient.kt | 17 -------------- .../utils/PercentageSplitterTest.kt | 23 ------------------- .../nightscout/androidaps/TestPumpPlugin.kt | 2 +- .../core}/wizard/BolusWizardTest.kt | 16 ++++++------- .../NotificationHolderImpl.kt | 15 ++++++------ .../constraints/objectives}/SntpClientTest.kt | 6 ++--- 8 files changed, 22 insertions(+), 81 deletions(-) delete mode 100644 app/src/main/java/info/nightscout/androidaps/utils/PercentageSplitter.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/utils/SntpClient.kt delete mode 100644 app/src/test/java/info/nightscout/androidaps/utils/PercentageSplitterTest.kt rename {app/src/test/java/info/nightscout/androidaps/utils => core/core-main/src/test/java/info/nightscout/core}/wizard/BolusWizardTest.kt (92%) rename {app/src/main/java/info/nightscout/androidaps/utils => implementation/src/main/java/info/nightscout/implementation}/androidNotification/NotificationHolderImpl.kt (85%) rename {app/src/test/java/info/nightscout/androidaps/utils => plugins/main/src/test/java/info/nightscout/plugins/constraints/objectives}/SntpClientTest.kt (80%) diff --git a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt index dcd1a8851b..b4105def4e 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt @@ -11,14 +11,12 @@ import info.nightscout.androidaps.implementations.ActivityNamesImpl import info.nightscout.androidaps.interfaces.stats.DexcomTirCalculator import info.nightscout.androidaps.interfaces.stats.TddCalculator import info.nightscout.androidaps.interfaces.stats.TirCalculator -import info.nightscout.plugins.aps.loop.LoopPlugin import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin import info.nightscout.androidaps.plugins.configBuilder.PluginStore import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctionImpl import info.nightscout.androidaps.plugins.general.maintenance.ImportExportPrefsImpl import info.nightscout.androidaps.plugins.general.maintenance.PrefFileListProvider import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin -import info.nightscout.androidaps.utils.androidNotification.NotificationHolderImpl import info.nightscout.androidaps.utils.buildHelper.BuildHelperImpl import info.nightscout.androidaps.utils.buildHelper.ConfigImpl import info.nightscout.androidaps.utils.resources.IconsProviderImplementation @@ -30,6 +28,7 @@ import info.nightscout.implementation.CarbTimerImpl import info.nightscout.implementation.LocalAlertUtilsImpl import info.nightscout.implementation.TrendCalculatorImpl import info.nightscout.implementation.XDripBroadcastImpl +import info.nightscout.implementation.androidNotification.NotificationHolderImpl import info.nightscout.implementation.constraints.ConstraintsImpl import info.nightscout.implementation.pump.PumpSyncImplementation import info.nightscout.implementation.queue.CommandQueueImplementation @@ -63,6 +62,7 @@ import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.ui.IconsProvider import info.nightscout.interfaces.utils.HardLimits import info.nightscout.interfaces.utils.TrendCalculator +import info.nightscout.plugins.aps.loop.LoopPlugin import info.nightscout.plugins.general.smsCommunicator.SmsCommunicatorPlugin import info.nightscout.plugins.sync.nsclient.DataSyncSelectorImplementation import info.nightscout.plugins.sync.nsclient.data.ProcessedDeviceStatusData diff --git a/app/src/main/java/info/nightscout/androidaps/utils/PercentageSplitter.kt b/app/src/main/java/info/nightscout/androidaps/utils/PercentageSplitter.kt deleted file mode 100644 index 96d1ad6b49..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/utils/PercentageSplitter.kt +++ /dev/null @@ -1,20 +0,0 @@ -package info.nightscout.androidaps.utils - -import java.util.regex.Pattern - -object PercentageSplitter { - - // Matches "Profile name (200%,-2h)", "Profile name (50%) - private val splitPattern = Pattern.compile("(.+)\\(\\d+%(,-?\\d+h)?\\)") - - /** - * Removes the suffix for percentage and timeshift from a profile name. This is the inverse of what - * [ProfileSwitch.getCustomizedName()] does. - * Since the customized name is used for the PS upload to NS, this is needed get the original profile name - * when retrieving the PS from NS again. - */ - fun pureName(name: String): String { - val percentageMatch = splitPattern.matcher(name) - return if (percentageMatch.find()) (percentageMatch.group(1) as String).trim { it <= ' ' } else name - } -} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/utils/SntpClient.kt b/app/src/main/java/info/nightscout/androidaps/utils/SntpClient.kt deleted file mode 100644 index 6f01aa6a78..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/utils/SntpClient.kt +++ /dev/null @@ -1,17 +0,0 @@ -package info.nightscout.androidaps.utils - -/* - * Copyright (C) 2008 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ \ No newline at end of file diff --git a/app/src/test/java/info/nightscout/androidaps/utils/PercentageSplitterTest.kt b/app/src/test/java/info/nightscout/androidaps/utils/PercentageSplitterTest.kt deleted file mode 100644 index 89f0e9b903..0000000000 --- a/app/src/test/java/info/nightscout/androidaps/utils/PercentageSplitterTest.kt +++ /dev/null @@ -1,23 +0,0 @@ -package info.nightscout.androidaps.utils - -import info.nightscout.androidaps.utils.PercentageSplitter.pureName -import org.junit.Assert -import org.junit.Test - -/** - * Created by mike on 22.12.2017. - */ -class PercentageSplitterTest { - - @Test fun pureNameTestPercentageOnly() { - Assert.assertEquals("Fiasp", pureName("Fiasp(101%)")) - } - - @Test fun pureNameTestPercentageAndPositiveTimeShift() { - Assert.assertEquals("Fiasp", pureName("Fiasp (101%,2h)")) - } - - @Test fun pureNameTestPercentageAndNegtiveTimeShift() { - Assert.assertEquals("Fiasp", pureName("Fiasp (50%,-2h)")) - } -} \ No newline at end of file diff --git a/core/core-main/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt b/core/core-main/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt index af18cd7321..5ba01a09b6 100644 --- a/core/core-main/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt +++ b/core/core-main/src/test/java/info/nightscout/androidaps/TestPumpPlugin.kt @@ -24,7 +24,7 @@ class TestPumpPlugin(val injector: HasAndroidInjector) : Pump { val lastData = 0L val baseBasal = 0.0 - override val pumpDescription = PumpDescription() + override var pumpDescription = PumpDescription() override fun isInitialized(): Boolean = true override fun isSuspended(): Boolean = false diff --git a/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt b/core/core-main/src/test/java/info/nightscout/core/wizard/BolusWizardTest.kt similarity index 92% rename from app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt rename to core/core-main/src/test/java/info/nightscout/core/wizard/BolusWizardTest.kt index 21731d8e4b..107a9a959c 100644 --- a/app/src/test/java/info/nightscout/androidaps/utils/wizard/BolusWizardTest.kt +++ b/core/core-main/src/test/java/info/nightscout/core/wizard/BolusWizardTest.kt @@ -1,12 +1,12 @@ -package info.nightscout.androidaps.utils.wizard +package info.nightscout.core.wizard import android.content.Context import dagger.android.AndroidInjector import dagger.android.HasAndroidInjector import info.nightscout.androidaps.TestBase +import info.nightscout.androidaps.TestPumpPlugin import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStoreObject import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProvider -import info.nightscout.core.wizard.BolusWizard import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.aps.Loop import info.nightscout.interfaces.constraints.Constraint @@ -18,7 +18,6 @@ import info.nightscout.interfaces.profile.Profile import info.nightscout.interfaces.profile.ProfileFunction import info.nightscout.interfaces.pump.defs.PumpDescription import info.nightscout.interfaces.queue.CommandQueue -import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.rx.bus.RxBus import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.utils.DateUtil @@ -41,7 +40,6 @@ class BolusWizardTest : TestBase() { @Mock lateinit var commandQueue: CommandQueue @Mock lateinit var loop: Loop @Mock lateinit var iobCobCalculator: IobCobCalculator - @Mock lateinit var virtualPumpPlugin: VirtualPumpPlugin @Mock lateinit var dateUtil: DateUtil @Mock lateinit var autosensDataStore: AutosensDataStoreObject @@ -63,6 +61,8 @@ class BolusWizardTest : TestBase() { } } + val testPumpPlugin = TestPumpPlugin(injector) + @Suppress("SameParameterValue") private fun setupProfile(targetLow: Double, targetHigh: Double, insulinSensitivityFactor: Double, insulinToCarbRatio: Double): Profile { val profile = Mockito.mock(Profile::class.java) @@ -74,10 +74,10 @@ class BolusWizardTest : TestBase() { `when`(profileFunction.getUnits()).thenReturn(GlucoseUnit.MGDL) `when`(iobCobCalculator.calculateIobFromBolus()).thenReturn(IobTotal(System.currentTimeMillis())) `when`(iobCobCalculator.calculateIobFromTempBasalsIncludingConvertedExtended()).thenReturn(IobTotal(System.currentTimeMillis())) - `when`(activePlugin.activePump).thenReturn(virtualPumpPlugin) - val pumpDescription = PumpDescription() - pumpDescription.bolusStep = pumpBolusStep - `when`(virtualPumpPlugin.pumpDescription).thenReturn(pumpDescription) + `when`(activePlugin.activePump).thenReturn(testPumpPlugin) + testPumpPlugin.pumpDescription = PumpDescription().also { + it.bolusStep = pumpBolusStep + } `when`(iobCobCalculator.ads).thenReturn(autosensDataStore) Mockito.doAnswer { invocation: InvocationOnMock -> diff --git a/app/src/main/java/info/nightscout/androidaps/utils/androidNotification/NotificationHolderImpl.kt b/implementation/src/main/java/info/nightscout/implementation/androidNotification/NotificationHolderImpl.kt similarity index 85% rename from app/src/main/java/info/nightscout/androidaps/utils/androidNotification/NotificationHolderImpl.kt rename to implementation/src/main/java/info/nightscout/implementation/androidNotification/NotificationHolderImpl.kt index 458ca453ea..8bc83f63a8 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/androidNotification/NotificationHolderImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/androidNotification/NotificationHolderImpl.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.utils.androidNotification +package info.nightscout.implementation.androidNotification import android.app.Notification import android.app.NotificationChannel @@ -8,9 +8,9 @@ import android.content.Context import android.content.Intent import androidx.core.app.NotificationCompat import androidx.core.app.TaskStackBuilder -import info.nightscout.androidaps.MainActivity import info.nightscout.core.main.R import info.nightscout.interfaces.NotificationHolder +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.interfaces.ui.IconsProvider import info.nightscout.shared.interfaces.ResourceHelper import javax.inject.Inject @@ -18,9 +18,10 @@ import javax.inject.Singleton @Singleton class NotificationHolderImpl @Inject constructor( - val rh: ResourceHelper, - val context: Context, - val iconsProvider: IconsProvider + private val rh: ResourceHelper, + private val context: Context, + private val iconsProvider: IconsProvider, + private val activityNames: ActivityNames ) : NotificationHolder { override val channelID = "AndroidAPS-Ongoing" @@ -33,8 +34,8 @@ class NotificationHolderImpl @Inject constructor( get() = _notification ?: placeholderNotification() override fun openAppIntent(context: Context): PendingIntent? = TaskStackBuilder.create(context).run { - addParentStack(MainActivity::class.java) - addNextIntent(Intent(context, MainActivity::class.java)) + addParentStack(activityNames.mainActivity) + addNextIntent(Intent(context, activityNames.mainActivity)) getPendingIntent(0, PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT) } diff --git a/app/src/test/java/info/nightscout/androidaps/utils/SntpClientTest.kt b/plugins/main/src/test/java/info/nightscout/plugins/constraints/objectives/SntpClientTest.kt similarity index 80% rename from app/src/test/java/info/nightscout/androidaps/utils/SntpClientTest.kt rename to plugins/main/src/test/java/info/nightscout/plugins/constraints/objectives/SntpClientTest.kt index fc9817d92a..2814ddd1ef 100644 --- a/app/src/test/java/info/nightscout/androidaps/utils/SntpClientTest.kt +++ b/plugins/main/src/test/java/info/nightscout/plugins/constraints/objectives/SntpClientTest.kt @@ -1,11 +1,11 @@ -package info.nightscout.androidaps.utils +package info.nightscout.plugins.constraints.objectives import info.nightscout.androidaps.TestBase -import info.nightscout.plugins.constraints.objectives.SntpClient import info.nightscout.shared.utils.DateUtil import org.junit.Assert import org.junit.Test import org.mockito.Mock +import kotlin.math.abs class SntpClientTest : TestBase() { @Mock lateinit var dateUtil: DateUtil @@ -24,7 +24,7 @@ class SntpClientTest : TestBase() { SntpClient(aapsLogger, dateUtil).doNtpTime(object : SntpClient.Callback() { override fun run() { Assert.assertTrue(success) - Assert.assertTrue(Math.abs(time - System.currentTimeMillis()) < 60000) + Assert.assertTrue(abs(time - System.currentTimeMillis()) < 60000) } }) }