:plugins:source module
This commit is contained in:
parent
16bf64129d
commit
bc9ec4c9c5
|
@ -203,6 +203,7 @@ dependencies {
|
||||||
implementation project(':plugins:main')
|
implementation project(':plugins:main')
|
||||||
implementation project(':plugins:openhumans')
|
implementation project(':plugins:openhumans')
|
||||||
implementation project(':plugins:sensitivity')
|
implementation project(':plugins:sensitivity')
|
||||||
|
implementation project(':plugins:source')
|
||||||
implementation project(':plugins:sync')
|
implementation project(':plugins:sync')
|
||||||
implementation project(':implementation')
|
implementation project(':implementation')
|
||||||
implementation project(':database:entities')
|
implementation project(':database:entities')
|
||||||
|
|
|
@ -48,14 +48,6 @@ import info.nightscout.plugins.general.autotune.AutotunePlugin
|
||||||
import info.nightscout.plugins.general.smsCommunicator.SmsCommunicatorPlugin
|
import info.nightscout.plugins.general.smsCommunicator.SmsCommunicatorPlugin
|
||||||
import info.nightscout.plugins.general.wear.WearPlugin
|
import info.nightscout.plugins.general.wear.WearPlugin
|
||||||
import info.nightscout.plugins.general.xdripStatusline.StatusLinePlugin
|
import info.nightscout.plugins.general.xdripStatusline.StatusLinePlugin
|
||||||
import info.nightscout.plugins.source.AidexPlugin
|
|
||||||
import info.nightscout.plugins.source.DexcomPlugin
|
|
||||||
import info.nightscout.plugins.source.EversensePlugin
|
|
||||||
import info.nightscout.plugins.source.GlimpPlugin
|
|
||||||
import info.nightscout.plugins.source.GlunovoPlugin
|
|
||||||
import info.nightscout.plugins.source.IntelligoPlugin
|
|
||||||
import info.nightscout.plugins.source.PoctechPlugin
|
|
||||||
import info.nightscout.plugins.source.TomatoPlugin
|
|
||||||
import info.nightscout.plugins.sync.nsclient.NSClientPlugin
|
import info.nightscout.plugins.sync.nsclient.NSClientPlugin
|
||||||
import info.nightscout.plugins.sync.nsclientV3.NSClientV3Plugin
|
import info.nightscout.plugins.sync.nsclientV3.NSClientV3Plugin
|
||||||
import info.nightscout.plugins.sync.tidepool.TidepoolPlugin
|
import info.nightscout.plugins.sync.tidepool.TidepoolPlugin
|
||||||
|
@ -72,6 +64,14 @@ import info.nightscout.sensitivity.SensitivityWeightedAveragePlugin
|
||||||
import info.nightscout.shared.SafeParse
|
import info.nightscout.shared.SafeParse
|
||||||
import info.nightscout.shared.interfaces.ResourceHelper
|
import info.nightscout.shared.interfaces.ResourceHelper
|
||||||
import info.nightscout.shared.sharedPreferences.SP
|
import info.nightscout.shared.sharedPreferences.SP
|
||||||
|
import info.nightscout.source.AidexPlugin
|
||||||
|
import info.nightscout.source.DexcomPlugin
|
||||||
|
import info.nightscout.source.EversensePlugin
|
||||||
|
import info.nightscout.source.GlimpPlugin
|
||||||
|
import info.nightscout.source.GlunovoPlugin
|
||||||
|
import info.nightscout.source.IntelligoPlugin
|
||||||
|
import info.nightscout.source.PoctechPlugin
|
||||||
|
import info.nightscout.source.TomatoPlugin
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChangeListener {
|
class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChangeListener {
|
||||||
|
|
|
@ -36,6 +36,7 @@ import info.nightscout.pump.virtual.di.VirtualPumpModule
|
||||||
import info.nightscout.rx.di.RxModule
|
import info.nightscout.rx.di.RxModule
|
||||||
import info.nightscout.shared.di.SharedModule
|
import info.nightscout.shared.di.SharedModule
|
||||||
import info.nightscout.shared.impl.di.SharedImplModule
|
import info.nightscout.shared.impl.di.SharedImplModule
|
||||||
|
import info.nightscout.source.di.SourceModule
|
||||||
import info.nightscout.ui.di.UiModule
|
import info.nightscout.ui.di.UiModule
|
||||||
import info.nightscout.workflow.di.WorkflowModule
|
import info.nightscout.workflow.di.WorkflowModule
|
||||||
import javax.inject.Singleton
|
import javax.inject.Singleton
|
||||||
|
@ -66,6 +67,7 @@ import javax.inject.Singleton
|
||||||
UiModule::class,
|
UiModule::class,
|
||||||
ValidatorsModule::class,
|
ValidatorsModule::class,
|
||||||
PluginsConstraintsModule::class,
|
PluginsConstraintsModule::class,
|
||||||
|
SourceModule::class,
|
||||||
SyncModule::class,
|
SyncModule::class,
|
||||||
WorkflowModule::class,
|
WorkflowModule::class,
|
||||||
|
|
||||||
|
|
|
@ -41,17 +41,6 @@ import info.nightscout.plugins.general.wear.WearPlugin
|
||||||
import info.nightscout.plugins.general.xdripStatusline.StatusLinePlugin
|
import info.nightscout.plugins.general.xdripStatusline.StatusLinePlugin
|
||||||
import info.nightscout.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin
|
import info.nightscout.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin
|
||||||
import info.nightscout.plugins.profile.ProfilePlugin
|
import info.nightscout.plugins.profile.ProfilePlugin
|
||||||
import info.nightscout.plugins.source.AidexPlugin
|
|
||||||
import info.nightscout.plugins.source.DexcomPlugin
|
|
||||||
import info.nightscout.plugins.source.GlimpPlugin
|
|
||||||
import info.nightscout.plugins.source.GlunovoPlugin
|
|
||||||
import info.nightscout.plugins.source.IntelligoPlugin
|
|
||||||
import info.nightscout.plugins.source.MM640gPlugin
|
|
||||||
import info.nightscout.plugins.source.NSClientSourcePlugin
|
|
||||||
import info.nightscout.plugins.source.PoctechPlugin
|
|
||||||
import info.nightscout.plugins.source.RandomBgPlugin
|
|
||||||
import info.nightscout.plugins.source.TomatoPlugin
|
|
||||||
import info.nightscout.plugins.source.XdripPlugin
|
|
||||||
import info.nightscout.plugins.sync.nsclient.NSClientPlugin
|
import info.nightscout.plugins.sync.nsclient.NSClientPlugin
|
||||||
import info.nightscout.plugins.sync.nsclientV3.NSClientV3Plugin
|
import info.nightscout.plugins.sync.nsclientV3.NSClientV3Plugin
|
||||||
import info.nightscout.plugins.sync.tidepool.TidepoolPlugin
|
import info.nightscout.plugins.sync.tidepool.TidepoolPlugin
|
||||||
|
@ -62,6 +51,17 @@ import info.nightscout.pump.virtual.VirtualPumpPlugin
|
||||||
import info.nightscout.sensitivity.SensitivityAAPSPlugin
|
import info.nightscout.sensitivity.SensitivityAAPSPlugin
|
||||||
import info.nightscout.sensitivity.SensitivityOref1Plugin
|
import info.nightscout.sensitivity.SensitivityOref1Plugin
|
||||||
import info.nightscout.sensitivity.SensitivityWeightedAveragePlugin
|
import info.nightscout.sensitivity.SensitivityWeightedAveragePlugin
|
||||||
|
import info.nightscout.source.AidexPlugin
|
||||||
|
import info.nightscout.source.DexcomPlugin
|
||||||
|
import info.nightscout.source.GlimpPlugin
|
||||||
|
import info.nightscout.source.GlunovoPlugin
|
||||||
|
import info.nightscout.source.IntelligoPlugin
|
||||||
|
import info.nightscout.source.MM640gPlugin
|
||||||
|
import info.nightscout.source.NSClientSourcePlugin
|
||||||
|
import info.nightscout.source.PoctechPlugin
|
||||||
|
import info.nightscout.source.RandomBgPlugin
|
||||||
|
import info.nightscout.source.TomatoPlugin
|
||||||
|
import info.nightscout.source.XdripPlugin
|
||||||
import javax.inject.Qualifier
|
import javax.inject.Qualifier
|
||||||
|
|
||||||
@Suppress("unused")
|
@Suppress("unused")
|
||||||
|
|
|
@ -12,17 +12,17 @@ import info.nightscout.core.utils.extensions.copyString
|
||||||
import info.nightscout.core.utils.receivers.DataWorkerStorage
|
import info.nightscout.core.utils.receivers.DataWorkerStorage
|
||||||
import info.nightscout.interfaces.receivers.Intents
|
import info.nightscout.interfaces.receivers.Intents
|
||||||
import info.nightscout.plugins.general.smsCommunicator.SmsCommunicatorPlugin
|
import info.nightscout.plugins.general.smsCommunicator.SmsCommunicatorPlugin
|
||||||
import info.nightscout.plugins.source.AidexPlugin
|
|
||||||
import info.nightscout.plugins.source.DexcomPlugin
|
|
||||||
import info.nightscout.plugins.source.EversensePlugin
|
|
||||||
import info.nightscout.plugins.source.GlimpPlugin
|
|
||||||
import info.nightscout.plugins.source.MM640gPlugin
|
|
||||||
import info.nightscout.plugins.source.PoctechPlugin
|
|
||||||
import info.nightscout.plugins.source.TomatoPlugin
|
|
||||||
import info.nightscout.plugins.source.XdripPlugin
|
|
||||||
import info.nightscout.rx.logging.AAPSLogger
|
import info.nightscout.rx.logging.AAPSLogger
|
||||||
import info.nightscout.rx.logging.BundleLogger
|
import info.nightscout.rx.logging.BundleLogger
|
||||||
import info.nightscout.rx.logging.LTag
|
import info.nightscout.rx.logging.LTag
|
||||||
|
import info.nightscout.source.AidexPlugin
|
||||||
|
import info.nightscout.source.DexcomPlugin
|
||||||
|
import info.nightscout.source.EversensePlugin
|
||||||
|
import info.nightscout.source.GlimpPlugin
|
||||||
|
import info.nightscout.source.MM640gPlugin
|
||||||
|
import info.nightscout.source.PoctechPlugin
|
||||||
|
import info.nightscout.source.TomatoPlugin
|
||||||
|
import info.nightscout.source.XdripPlugin
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
open class DataReceiver : DaggerBroadcastReceiver() {
|
open class DataReceiver : DaggerBroadcastReceiver() {
|
||||||
|
|
|
@ -3,7 +3,7 @@ package info.nightscout.androidaps.workflow
|
||||||
import info.nightscout.interfaces.workflow.WorkerClasses
|
import info.nightscout.interfaces.workflow.WorkerClasses
|
||||||
import info.nightscout.plugins.general.food.FoodPlugin
|
import info.nightscout.plugins.general.food.FoodPlugin
|
||||||
import info.nightscout.plugins.profile.ProfilePlugin
|
import info.nightscout.plugins.profile.ProfilePlugin
|
||||||
import info.nightscout.plugins.source.NSClientSourcePlugin
|
import info.nightscout.source.NSClientSourcePlugin
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
class WorkerClassesImpl @Inject constructor(): WorkerClasses{
|
class WorkerClassesImpl @Inject constructor(): WorkerClasses{
|
||||||
|
|
|
@ -37,14 +37,14 @@ import info.nightscout.plugins.constraints.ConstraintsImpl
|
||||||
import info.nightscout.plugins.constraints.objectives.ObjectivesPlugin
|
import info.nightscout.plugins.constraints.objectives.ObjectivesPlugin
|
||||||
import info.nightscout.plugins.constraints.objectives.objectives.Objective
|
import info.nightscout.plugins.constraints.objectives.objectives.Objective
|
||||||
import info.nightscout.plugins.constraints.safety.SafetyPlugin
|
import info.nightscout.plugins.constraints.safety.SafetyPlugin
|
||||||
import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin
|
|
||||||
import info.nightscout.plugins.source.GlimpPlugin
|
|
||||||
import info.nightscout.pump.combo.ComboPlugin
|
import info.nightscout.pump.combo.ComboPlugin
|
||||||
import info.nightscout.pump.combo.ruffyscripter.RuffyScripter
|
import info.nightscout.pump.combo.ruffyscripter.RuffyScripter
|
||||||
import info.nightscout.pump.dana.DanaPump
|
import info.nightscout.pump.dana.DanaPump
|
||||||
import info.nightscout.pump.dana.R
|
import info.nightscout.pump.dana.R
|
||||||
import info.nightscout.pump.dana.database.DanaHistoryDatabase
|
import info.nightscout.pump.dana.database.DanaHistoryDatabase
|
||||||
|
import info.nightscout.pump.virtual.VirtualPumpPlugin
|
||||||
import info.nightscout.shared.sharedPreferences.SP
|
import info.nightscout.shared.sharedPreferences.SP
|
||||||
|
import info.nightscout.source.GlimpPlugin
|
||||||
import org.junit.jupiter.api.Assertions
|
import org.junit.jupiter.api.Assertions
|
||||||
import org.junit.jupiter.api.BeforeEach
|
import org.junit.jupiter.api.BeforeEach
|
||||||
import org.junit.jupiter.api.Test
|
import org.junit.jupiter.api.Test
|
||||||
|
|
|
@ -21,7 +21,7 @@ import info.nightscout.interfaces.receivers.ReceiverStatusStore
|
||||||
import info.nightscout.interfaces.ui.UiInteraction
|
import info.nightscout.interfaces.ui.UiInteraction
|
||||||
import info.nightscout.plugins.aps.loop.LoopFragment
|
import info.nightscout.plugins.aps.loop.LoopFragment
|
||||||
import info.nightscout.plugins.aps.loop.LoopPlugin
|
import info.nightscout.plugins.aps.loop.LoopPlugin
|
||||||
import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin
|
import info.nightscout.pump.virtual.VirtualPumpPlugin
|
||||||
import info.nightscout.rx.bus.RxBus
|
import info.nightscout.rx.bus.RxBus
|
||||||
import info.nightscout.shared.interfaces.ResourceHelper
|
import info.nightscout.shared.interfaces.ResourceHelper
|
||||||
import info.nightscout.shared.sharedPreferences.SP
|
import info.nightscout.shared.sharedPreferences.SP
|
||||||
|
|
|
@ -19,9 +19,9 @@ import info.nightscout.interfaces.utils.HardLimits
|
||||||
import info.nightscout.plugins.aps.openAPSAMA.OpenAPSAMAPlugin
|
import info.nightscout.plugins.aps.openAPSAMA.OpenAPSAMAPlugin
|
||||||
import info.nightscout.plugins.aps.openAPSSMB.OpenAPSSMBPlugin
|
import info.nightscout.plugins.aps.openAPSSMB.OpenAPSSMBPlugin
|
||||||
import info.nightscout.plugins.constraints.safety.SafetyPlugin
|
import info.nightscout.plugins.constraints.safety.SafetyPlugin
|
||||||
import info.nightscout.plugins.pump.virtual.VirtualPumpPlugin
|
import info.nightscout.pump.virtual.VirtualPumpPlugin
|
||||||
import info.nightscout.plugins.source.GlimpPlugin
|
|
||||||
import info.nightscout.shared.sharedPreferences.SP
|
import info.nightscout.shared.sharedPreferences.SP
|
||||||
|
import info.nightscout.source.GlimpPlugin
|
||||||
import org.junit.jupiter.api.Assertions
|
import org.junit.jupiter.api.Assertions
|
||||||
import org.junit.jupiter.api.BeforeEach
|
import org.junit.jupiter.api.BeforeEach
|
||||||
import org.junit.jupiter.api.Test
|
import org.junit.jupiter.api.Test
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
package info.nightscout.interfaces.source
|
package info.nightscout.interfaces.source
|
||||||
|
|
||||||
interface DexcomBoyda
|
interface DexcomBoyda {
|
||||||
|
|
||||||
|
fun isEnabled(): Boolean
|
||||||
|
fun requestPermissionIfNeeded()
|
||||||
|
fun findDexcomPackageName(): String?
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
package info.nightscout.interfaces.source
|
||||||
|
|
||||||
|
interface XDrip {
|
||||||
|
fun isEnabled(): Boolean
|
||||||
|
}
|
|
@ -21,6 +21,8 @@ files:
|
||||||
translation: /plugins/openhumans/src/main/res/values-%android_code%/strings.xml
|
translation: /plugins/openhumans/src/main/res/values-%android_code%/strings.xml
|
||||||
- source: /plugins/sensitivity/src/main/res/values/strings.xml
|
- source: /plugins/sensitivity/src/main/res/values/strings.xml
|
||||||
translation: /plugins/sensitivity/src/main/res/values-%android_code%/strings.xml
|
translation: /plugins/sensitivity/src/main/res/values-%android_code%/strings.xml
|
||||||
|
- source: /plugins/source/src/main/res/values/strings.xml
|
||||||
|
translation: /plugins/source/src/main/res/values-%android_code%/strings.xml
|
||||||
- source: /plugins/insulin/src/main/res/values/strings.xml
|
- source: /plugins/insulin/src/main/res/values/strings.xml
|
||||||
translation: /plugins/insulin/src/main/res/values-%android_code%/strings.xml
|
translation: /plugins/insulin/src/main/res/values-%android_code%/strings.xml
|
||||||
- source: /plugins/configuration/src/main/res/values/strings.xml
|
- source: /plugins/configuration/src/main/res/values/strings.xml
|
||||||
|
|
|
@ -85,7 +85,7 @@ class CommandQueueImplementationTest : TestBaseWithProfile() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
val injector = HasAndroidInjector {
|
private val injector = HasAndroidInjector {
|
||||||
AndroidInjector {
|
AndroidInjector {
|
||||||
if (it is Command) {
|
if (it is Command) {
|
||||||
it.aapsLogger = aapsLogger
|
it.aapsLogger = aapsLogger
|
||||||
|
|
|
@ -37,7 +37,7 @@ class BgQualityCheckPluginTest : TestBase() {
|
||||||
private lateinit var plugin: BgQualityCheckPlugin
|
private lateinit var plugin: BgQualityCheckPlugin
|
||||||
|
|
||||||
private val injector = HasAndroidInjector { AndroidInjector { } }
|
private val injector = HasAndroidInjector { AndroidInjector { } }
|
||||||
val now = 100000000L
|
private val now = 100000000L
|
||||||
//private val autosensDataStore = AutosensDataStoreObject()
|
//private val autosensDataStore = AutosensDataStoreObject()
|
||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
|
@ -234,6 +234,9 @@ class BgQualityCheckPluginTest : TestBase() {
|
||||||
class DexcomPlugin : BgSource, DexcomBoyda {
|
class DexcomPlugin : BgSource, DexcomBoyda {
|
||||||
|
|
||||||
override fun shouldUploadToNs(glucoseValue: GlucoseValue): Boolean = true
|
override fun shouldUploadToNs(glucoseValue: GlucoseValue): Boolean = true
|
||||||
|
override fun isEnabled(): Boolean = false
|
||||||
|
override fun requestPermissionIfNeeded() {}
|
||||||
|
override fun findDexcomPackageName(): String? = null
|
||||||
}
|
}
|
||||||
`when`(activePlugin.activeBgSource).thenReturn(DexcomPlugin())
|
`when`(activePlugin.activeBgSource).thenReturn(DexcomPlugin())
|
||||||
plugin.processBgData()
|
plugin.processBgData()
|
||||||
|
|
|
@ -19,10 +19,6 @@
|
||||||
<category android:name="android.intent.category.DEFAULT" />
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
<activity
|
|
||||||
android:name=".source.activities.RequestDexcomPermissionActivity"
|
|
||||||
android:exported="false" />
|
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name="info.nightscout.plugins.general.overview.activities.QuickWizardListActivity"
|
android:name="info.nightscout.plugins.general.overview.activities.QuickWizardListActivity"
|
||||||
android:exported="false"
|
android:exported="false"
|
||||||
|
|
|
@ -17,7 +17,6 @@ import info.nightscout.plugins.iob.iobCobCalculator.data.AutosensDataObject
|
||||||
FoodModule::class,
|
FoodModule::class,
|
||||||
SMSCommunicatorModule::class,
|
SMSCommunicatorModule::class,
|
||||||
ProfileModule::class,
|
ProfileModule::class,
|
||||||
SourceModule::class,
|
|
||||||
SkinsModule::class,
|
SkinsModule::class,
|
||||||
SkinsUiModule::class,
|
SkinsUiModule::class,
|
||||||
ActionsModule::class,
|
ActionsModule::class,
|
||||||
|
|
|
@ -3,10 +3,12 @@ package info.nightscout.plugins.di
|
||||||
import dagger.Module
|
import dagger.Module
|
||||||
import dagger.android.ContributesAndroidInjector
|
import dagger.android.ContributesAndroidInjector
|
||||||
import info.nightscout.plugins.profile.ProfileFragment
|
import info.nightscout.plugins.profile.ProfileFragment
|
||||||
|
import info.nightscout.plugins.profile.ProfilePlugin
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@Suppress("unused")
|
@Suppress("unused")
|
||||||
abstract class ProfileModule {
|
abstract class ProfileModule {
|
||||||
|
|
||||||
|
@ContributesAndroidInjector abstract fun contributesNSProfileWorker(): ProfilePlugin.NSProfileWorker
|
||||||
@ContributesAndroidInjector abstract fun contributesLocalProfileFragment(): ProfileFragment
|
@ContributesAndroidInjector abstract fun contributesLocalProfileFragment(): ProfileFragment
|
||||||
}
|
}
|
|
@ -64,6 +64,8 @@ import info.nightscout.interfaces.profile.Profile
|
||||||
import info.nightscout.interfaces.profile.ProfileFunction
|
import info.nightscout.interfaces.profile.ProfileFunction
|
||||||
import info.nightscout.interfaces.protection.ProtectionCheck
|
import info.nightscout.interfaces.protection.ProtectionCheck
|
||||||
import info.nightscout.interfaces.pump.defs.PumpType
|
import info.nightscout.interfaces.pump.defs.PumpType
|
||||||
|
import info.nightscout.interfaces.source.DexcomBoyda
|
||||||
|
import info.nightscout.interfaces.source.XDrip
|
||||||
import info.nightscout.interfaces.ui.UiInteraction
|
import info.nightscout.interfaces.ui.UiInteraction
|
||||||
import info.nightscout.interfaces.utils.JsonHelper
|
import info.nightscout.interfaces.utils.JsonHelper
|
||||||
import info.nightscout.interfaces.utils.TrendCalculator
|
import info.nightscout.interfaces.utils.TrendCalculator
|
||||||
|
@ -74,8 +76,6 @@ import info.nightscout.plugins.general.overview.graphData.GraphData
|
||||||
import info.nightscout.plugins.general.overview.notifications.NotificationStore
|
import info.nightscout.plugins.general.overview.notifications.NotificationStore
|
||||||
import info.nightscout.plugins.general.overview.notifications.events.EventUpdateOverviewNotification
|
import info.nightscout.plugins.general.overview.notifications.events.EventUpdateOverviewNotification
|
||||||
import info.nightscout.plugins.skins.SkinProvider
|
import info.nightscout.plugins.skins.SkinProvider
|
||||||
import info.nightscout.plugins.source.DexcomPlugin
|
|
||||||
import info.nightscout.plugins.source.XdripPlugin
|
|
||||||
import info.nightscout.plugins.ui.StatusLightHandler
|
import info.nightscout.plugins.ui.StatusLightHandler
|
||||||
import info.nightscout.rx.AapsSchedulers
|
import info.nightscout.rx.AapsSchedulers
|
||||||
import info.nightscout.rx.bus.RxBus
|
import info.nightscout.rx.bus.RxBus
|
||||||
|
@ -127,9 +127,8 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
|
||||||
@Inject lateinit var loop: Loop
|
@Inject lateinit var loop: Loop
|
||||||
@Inject lateinit var activePlugin: ActivePlugin
|
@Inject lateinit var activePlugin: ActivePlugin
|
||||||
@Inject lateinit var iobCobCalculator: IobCobCalculator
|
@Inject lateinit var iobCobCalculator: IobCobCalculator
|
||||||
@Inject lateinit var dexcomPlugin: DexcomPlugin
|
@Inject lateinit var dexcomBoyda: DexcomBoyda
|
||||||
@Inject lateinit var dexcomMediator: DexcomPlugin.DexcomMediator
|
@Inject lateinit var xDrip: XDrip
|
||||||
@Inject lateinit var xdripPlugin: XdripPlugin
|
|
||||||
@Inject lateinit var notificationStore: NotificationStore
|
@Inject lateinit var notificationStore: NotificationStore
|
||||||
@Inject lateinit var quickWizard: QuickWizard
|
@Inject lateinit var quickWizard: QuickWizard
|
||||||
@Inject lateinit var config: Config
|
@Inject lateinit var config: Config
|
||||||
|
@ -400,10 +399,10 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
|
||||||
}
|
}
|
||||||
|
|
||||||
R.id.cgm_button -> {
|
R.id.cgm_button -> {
|
||||||
if (xdripPlugin.isEnabled())
|
if (xDrip.isEnabled())
|
||||||
openCgmApp("com.eveningoutpost.dexdrip")
|
openCgmApp("com.eveningoutpost.dexdrip")
|
||||||
else if (dexcomPlugin.isEnabled()) {
|
else if (dexcomBoyda.isEnabled()) {
|
||||||
dexcomMediator.findDexcomPackageName()?.let {
|
dexcomBoyda.findDexcomPackageName()?.let {
|
||||||
openCgmApp(it)
|
openCgmApp(it)
|
||||||
}
|
}
|
||||||
?: ToastUtils.infoToast(activity, rh.gs(R.string.dexcom_app_not_installed))
|
?: ToastUtils.infoToast(activity, rh.gs(R.string.dexcom_app_not_installed))
|
||||||
|
@ -411,11 +410,11 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
|
||||||
}
|
}
|
||||||
|
|
||||||
R.id.calibration_button -> {
|
R.id.calibration_button -> {
|
||||||
if (xdripPlugin.isEnabled()) {
|
if (xDrip.isEnabled()) {
|
||||||
uiInteraction.runCalibrationDialog(childFragmentManager)
|
uiInteraction.runCalibrationDialog(childFragmentManager)
|
||||||
} else if (dexcomPlugin.isEnabled()) {
|
} else if (dexcomBoyda.isEnabled()) {
|
||||||
try {
|
try {
|
||||||
dexcomMediator.findDexcomPackageName()?.let {
|
dexcomBoyda.findDexcomPackageName()?.let {
|
||||||
startActivity(
|
startActivity(
|
||||||
Intent("com.dexcom.cgm.activities.MeterEntryActivity")
|
Intent("com.dexcom.cgm.activities.MeterEntryActivity")
|
||||||
.setPackage(it)
|
.setPackage(it)
|
||||||
|
@ -577,8 +576,8 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
|
||||||
&& sp.getBoolean(R.string.key_show_insulin_button, true)).toVisibility()
|
&& sp.getBoolean(R.string.key_show_insulin_button, true)).toVisibility()
|
||||||
|
|
||||||
// **** Calibration & CGM buttons ****
|
// **** Calibration & CGM buttons ****
|
||||||
val xDripIsBgSource = xdripPlugin.isEnabled()
|
val xDripIsBgSource = xDrip.isEnabled()
|
||||||
val dexcomIsSource = dexcomPlugin.isEnabled()
|
val dexcomIsSource = dexcomBoyda.isEnabled()
|
||||||
binding.buttonsLayout.calibrationButton.visibility = (xDripIsBgSource && actualBG != null && sp.getBoolean(R.string.key_show_calibration_button, true)).toVisibility()
|
binding.buttonsLayout.calibrationButton.visibility = (xDripIsBgSource && actualBG != null && sp.getBoolean(R.string.key_show_calibration_button, true)).toVisibility()
|
||||||
if (dexcomIsSource) {
|
if (dexcomIsSource) {
|
||||||
binding.buttonsLayout.cgmButton.setCompoundDrawablesWithIntrinsicBounds(null, rh.gd(R.drawable.ic_byoda), null, null)
|
binding.buttonsLayout.cgmButton.setCompoundDrawablesWithIntrinsicBounds(null, rh.gd(R.drawable.ic_byoda), null, null)
|
||||||
|
|
|
@ -344,48 +344,6 @@
|
||||||
<string name="graph_scale">Graph scale</string>
|
<string name="graph_scale">Graph scale</string>
|
||||||
<string name="graph_menu_divider_header">Graph</string>
|
<string name="graph_menu_divider_header">Graph</string>
|
||||||
|
|
||||||
<!-- Source -->
|
|
||||||
<string name="key_dexcom_log_ns_sensor_change" translatable="false">dexcom_lognssensorchange</string>
|
|
||||||
<string name="key_last_processed_glunovo_timestamp" translatable="false">last_processed_glunovo_timestamp</string>
|
|
||||||
<string name="key_last_processed_intelligo_timestamp" translatable="false">last_processed_intelligo_timestamp</string>
|
|
||||||
|
|
||||||
<string name="ns_client_bg">NSClient BG</string>
|
|
||||||
<string name="ns_client_bg_short">NS BG</string>
|
|
||||||
<string name="description_source_ns_client">Downloads BG data from Nightscout</string>
|
|
||||||
<string name="xdrip">xDrip+</string>
|
|
||||||
<string name="description_source_xdrip">Receive BG values from xDrip+.</string>
|
|
||||||
<string name="dexcom_app_patched">BYODA</string>
|
|
||||||
<string name="dexcom_short">BYODA</string>
|
|
||||||
<string name="description_source_dexcom">Receive BG values from the \'Build Your Own Dexcom App\'.</string>
|
|
||||||
<string name="eversense">Eversense App (patched)</string>
|
|
||||||
<string name="eversense_shortname" translatable="false">EVR</string>
|
|
||||||
<string name="description_source_eversense">Receive BG values from the patched Eversense app.</string>
|
|
||||||
<string name="glimp">Glimp</string>
|
|
||||||
<string name="description_source_glimp">Receive BG values from Glimp.</string>
|
|
||||||
<string name="mm640g">MM640g</string>
|
|
||||||
<string name="description_source_mm640g">Receive BG values from the 600SeriesAndroidUploader.</string>
|
|
||||||
<string name="poctech">Poctech</string>
|
|
||||||
<string name="description_source_poctech">Receive BG values from Poctech app</string>
|
|
||||||
<string name="glunovo">Glunovo</string>
|
|
||||||
<string name="description_source_glunovo">Receive values from Glunovo app</string>
|
|
||||||
<string name="intelligo">Intelligo</string>
|
|
||||||
<string name="description_source_intelligo">Receive values from Intelligo app</string>
|
|
||||||
<string name="tomato">Tomato (MiaoMiao)</string>
|
|
||||||
<string name="tomato_short">Tomato</string>
|
|
||||||
<string name="description_source_tomato">Receive BG values from Tomato app (MiaoMiao device)</string>
|
|
||||||
<string name="aidex">GlucoRx Aidex</string>
|
|
||||||
<string name="aidex_short">Aidex</string>
|
|
||||||
<string name="description_source_aidex">Receive BG values from GlucoRx Aidex CGMS.</string>
|
|
||||||
<string name="random_bg">Random BG</string>
|
|
||||||
<string name="description_source_random_bg">Generate random BG data (Demo mode only)</string>
|
|
||||||
<string name="random_bg_short">BG</string>
|
|
||||||
|
|
||||||
<string name="do_xdrip_upload_title">Send BG data to xDrip+</string>
|
|
||||||
<string name="do_xdrip_upload_summary">In xDrip+ select 640g/Eversense data source</string>
|
|
||||||
<string name="bgsource_upload">BG upload settings</string>
|
|
||||||
<string name="dexcom_log_ns_sensor_change_title">Log sensor change to NS</string>
|
|
||||||
<string name="dexcom_log_ns_sensor_change_summary">Create event \"Sensor Change\" in NS automatically on sensor start</string>
|
|
||||||
|
|
||||||
<!-- Skins -->
|
<!-- Skins -->
|
||||||
<string name="key_skin" translatable="false">skin</string>
|
<string name="key_skin" translatable="false">skin</string>
|
||||||
|
|
||||||
|
|
1
plugins/source/.gitignore
vendored
Normal file
1
plugins/source/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
/build
|
28
plugins/source/build.gradle
Normal file
28
plugins/source/build.gradle
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
plugins {
|
||||||
|
id 'com.android.library'
|
||||||
|
id 'kotlin-android'
|
||||||
|
id 'kotlin-kapt'
|
||||||
|
id 'kotlin-allopen'
|
||||||
|
id 'com.hiya.jacoco-android'
|
||||||
|
}
|
||||||
|
|
||||||
|
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 {
|
||||||
|
namespace 'info.nightscout.source'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
implementation project(':app-wear-shared:shared')
|
||||||
|
implementation project(':database:entities')
|
||||||
|
implementation project(':database:impl')
|
||||||
|
implementation project(':core:interfaces')
|
||||||
|
implementation project(':core:main')
|
||||||
|
implementation project(':core:ns-sdk')
|
||||||
|
implementation project(':core:ui')
|
||||||
|
implementation project(':core:utils')
|
||||||
|
}
|
0
plugins/source/consumer-rules.pro
Normal file
0
plugins/source/consumer-rules.pro
Normal file
21
plugins/source/proguard-rules.pro
vendored
Normal file
21
plugins/source/proguard-rules.pro
vendored
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
# Add project specific ProGuard rules here.
|
||||||
|
# You can control the set of applied configuration files using the
|
||||||
|
# proguardFiles setting in build.gradle.
|
||||||
|
#
|
||||||
|
# For more details, see
|
||||||
|
# http://developer.android.com/guide/developing/tools/proguard.html
|
||||||
|
|
||||||
|
# If your project uses WebView with JS, uncomment the following
|
||||||
|
# and specify the fully qualified class name to the JavaScript interface
|
||||||
|
# class:
|
||||||
|
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||||||
|
# public *;
|
||||||
|
#}
|
||||||
|
|
||||||
|
# Uncomment this to preserve the line number information for
|
||||||
|
# debugging stack traces.
|
||||||
|
#-keepattributes SourceFile,LineNumberTable
|
||||||
|
|
||||||
|
# If you keep the line number information, uncomment this to
|
||||||
|
# hide the original source file name.
|
||||||
|
#-renamesourcefileattribute SourceFile
|
12
plugins/source/src/main/AndroidManifest.xml
Normal file
12
plugins/source/src/main/AndroidManifest.xml
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
|
<application>
|
||||||
|
|
||||||
|
<activity
|
||||||
|
android:name="info.nightscout.source.activities.RequestDexcomPermissionActivity"
|
||||||
|
android:exported="false" />
|
||||||
|
|
||||||
|
</application>
|
||||||
|
|
||||||
|
</manifest>
|
|
@ -1,4 +1,4 @@
|
||||||
package info.nightscout.plugins.source
|
package info.nightscout.source
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import androidx.work.WorkerParameters
|
import androidx.work.WorkerParameters
|
||||||
|
@ -17,7 +17,6 @@ import info.nightscout.interfaces.plugin.PluginDescription
|
||||||
import info.nightscout.interfaces.plugin.PluginType
|
import info.nightscout.interfaces.plugin.PluginType
|
||||||
import info.nightscout.interfaces.receivers.Intents
|
import info.nightscout.interfaces.receivers.Intents
|
||||||
import info.nightscout.interfaces.source.BgSource
|
import info.nightscout.interfaces.source.BgSource
|
||||||
import info.nightscout.plugins.R
|
|
||||||
import info.nightscout.rx.logging.AAPSLogger
|
import info.nightscout.rx.logging.AAPSLogger
|
||||||
import info.nightscout.rx.logging.LTag
|
import info.nightscout.rx.logging.LTag
|
||||||
import info.nightscout.shared.interfaces.ResourceHelper
|
import info.nightscout.shared.interfaces.ResourceHelper
|
|
@ -1,4 +1,4 @@
|
||||||
package info.nightscout.plugins.source
|
package info.nightscout.source
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.util.SparseArray
|
import android.util.SparseArray
|
||||||
|
@ -29,9 +29,6 @@ import info.nightscout.interfaces.logging.UserEntryLogger
|
||||||
import info.nightscout.interfaces.plugin.ActivePlugin
|
import info.nightscout.interfaces.plugin.ActivePlugin
|
||||||
import info.nightscout.interfaces.plugin.PluginBase
|
import info.nightscout.interfaces.plugin.PluginBase
|
||||||
import info.nightscout.interfaces.profile.ProfileFunction
|
import info.nightscout.interfaces.profile.ProfileFunction
|
||||||
import info.nightscout.plugins.R
|
|
||||||
import info.nightscout.plugins.databinding.SourceFragmentBinding
|
|
||||||
import info.nightscout.plugins.databinding.SourceItemBinding
|
|
||||||
import info.nightscout.rx.AapsSchedulers
|
import info.nightscout.rx.AapsSchedulers
|
||||||
import info.nightscout.rx.bus.RxBus
|
import info.nightscout.rx.bus.RxBus
|
||||||
import info.nightscout.rx.events.EventNewBG
|
import info.nightscout.rx.events.EventNewBG
|
||||||
|
@ -41,6 +38,8 @@ import info.nightscout.shared.extensions.toVisibility
|
||||||
import info.nightscout.shared.interfaces.ResourceHelper
|
import info.nightscout.shared.interfaces.ResourceHelper
|
||||||
import info.nightscout.shared.utils.DateUtil
|
import info.nightscout.shared.utils.DateUtil
|
||||||
import info.nightscout.shared.utils.T
|
import info.nightscout.shared.utils.T
|
||||||
|
import info.nightscout.source.databinding.SourceFragmentBinding
|
||||||
|
import info.nightscout.source.databinding.SourceItemBinding
|
||||||
import io.reactivex.rxjava3.disposables.CompositeDisposable
|
import io.reactivex.rxjava3.disposables.CompositeDisposable
|
||||||
import io.reactivex.rxjava3.kotlin.plusAssign
|
import io.reactivex.rxjava3.kotlin.plusAssign
|
||||||
import java.util.concurrent.TimeUnit
|
import java.util.concurrent.TimeUnit
|
|
@ -1,4 +1,4 @@
|
||||||
package info.nightscout.plugins.source
|
package info.nightscout.source
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
|
@ -28,8 +28,6 @@ import info.nightscout.interfaces.plugin.PluginType
|
||||||
import info.nightscout.interfaces.profile.Profile
|
import info.nightscout.interfaces.profile.Profile
|
||||||
import info.nightscout.interfaces.source.BgSource
|
import info.nightscout.interfaces.source.BgSource
|
||||||
import info.nightscout.interfaces.source.DexcomBoyda
|
import info.nightscout.interfaces.source.DexcomBoyda
|
||||||
import info.nightscout.plugins.R
|
|
||||||
import info.nightscout.plugins.source.activities.RequestDexcomPermissionActivity
|
|
||||||
import info.nightscout.rx.logging.AAPSLogger
|
import info.nightscout.rx.logging.AAPSLogger
|
||||||
import info.nightscout.rx.logging.LTag
|
import info.nightscout.rx.logging.LTag
|
||||||
import info.nightscout.shared.extensions.safeGetInstalledPackages
|
import info.nightscout.shared.extensions.safeGetInstalledPackages
|
||||||
|
@ -37,6 +35,7 @@ import info.nightscout.shared.interfaces.ResourceHelper
|
||||||
import info.nightscout.shared.sharedPreferences.SP
|
import info.nightscout.shared.sharedPreferences.SP
|
||||||
import info.nightscout.shared.utils.DateUtil
|
import info.nightscout.shared.utils.DateUtil
|
||||||
import info.nightscout.shared.utils.T
|
import info.nightscout.shared.utils.T
|
||||||
|
import info.nightscout.source.activities.RequestDexcomPermissionActivity
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import javax.inject.Singleton
|
import javax.inject.Singleton
|
||||||
import kotlin.math.abs
|
import kotlin.math.abs
|
||||||
|
@ -47,7 +46,7 @@ class DexcomPlugin @Inject constructor(
|
||||||
rh: ResourceHelper,
|
rh: ResourceHelper,
|
||||||
aapsLogger: AAPSLogger,
|
aapsLogger: AAPSLogger,
|
||||||
private val sp: SP,
|
private val sp: SP,
|
||||||
private val dexcomMediator: DexcomMediator,
|
private val context: Context,
|
||||||
config: Config
|
config: Config
|
||||||
) : PluginBase(
|
) : PluginBase(
|
||||||
PluginDescription()
|
PluginDescription()
|
||||||
|
@ -77,7 +76,7 @@ class DexcomPlugin @Inject constructor(
|
||||||
|
|
||||||
override fun onStart() {
|
override fun onStart() {
|
||||||
super.onStart()
|
super.onStart()
|
||||||
dexcomMediator.requestPermissionIfNeeded()
|
requestPermissionIfNeeded()
|
||||||
}
|
}
|
||||||
|
|
||||||
// cannot be inner class because of needed injection
|
// cannot be inner class because of needed injection
|
||||||
|
@ -222,6 +221,22 @@ class DexcomPlugin @Inject constructor(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun requestPermissionIfNeeded() {
|
||||||
|
if (ContextCompat.checkSelfPermission(context, PERMISSION) != PackageManager.PERMISSION_GRANTED) {
|
||||||
|
val intent = Intent(context, RequestDexcomPermissionActivity::class.java)
|
||||||
|
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||||
|
context.startActivity(intent)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun findDexcomPackageName(): String? {
|
||||||
|
val packageManager = context.packageManager
|
||||||
|
for (packageInfo in packageManager.safeGetInstalledPackages(0)) {
|
||||||
|
if (PACKAGE_NAMES.contains(packageInfo.packageName)) return packageInfo.packageName
|
||||||
|
}
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|
||||||
private val PACKAGE_NAMES = arrayOf(
|
private val PACKAGE_NAMES = arrayOf(
|
||||||
|
@ -232,23 +247,4 @@ class DexcomPlugin @Inject constructor(
|
||||||
)
|
)
|
||||||
const val PERMISSION = "com.dexcom.cgm.EXTERNAL_PERMISSION"
|
const val PERMISSION = "com.dexcom.cgm.EXTERNAL_PERMISSION"
|
||||||
}
|
}
|
||||||
|
|
||||||
class DexcomMediator @Inject constructor(val context: Context) {
|
|
||||||
|
|
||||||
fun requestPermissionIfNeeded() {
|
|
||||||
if (ContextCompat.checkSelfPermission(context, PERMISSION) != PackageManager.PERMISSION_GRANTED) {
|
|
||||||
val intent = Intent(context, RequestDexcomPermissionActivity::class.java)
|
|
||||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
|
||||||
context.startActivity(intent)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fun findDexcomPackageName(): String? {
|
|
||||||
val packageManager = context.packageManager
|
|
||||||
for (packageInfo in packageManager.safeGetInstalledPackages(0)) {
|
|
||||||
if (PACKAGE_NAMES.contains(packageInfo.packageName)) return packageInfo.packageName
|
|
||||||
}
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package info.nightscout.plugins.source
|
package info.nightscout.source
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import androidx.work.WorkerParameters
|
import androidx.work.WorkerParameters
|
||||||
|
@ -17,7 +17,6 @@ import info.nightscout.interfaces.plugin.PluginBase
|
||||||
import info.nightscout.interfaces.plugin.PluginDescription
|
import info.nightscout.interfaces.plugin.PluginDescription
|
||||||
import info.nightscout.interfaces.plugin.PluginType
|
import info.nightscout.interfaces.plugin.PluginType
|
||||||
import info.nightscout.interfaces.source.BgSource
|
import info.nightscout.interfaces.source.BgSource
|
||||||
import info.nightscout.plugins.R
|
|
||||||
import info.nightscout.rx.logging.AAPSLogger
|
import info.nightscout.rx.logging.AAPSLogger
|
||||||
import info.nightscout.rx.logging.LTag
|
import info.nightscout.rx.logging.LTag
|
||||||
import info.nightscout.shared.interfaces.ResourceHelper
|
import info.nightscout.shared.interfaces.ResourceHelper
|
|
@ -1,4 +1,4 @@
|
||||||
package info.nightscout.plugins.source
|
package info.nightscout.source
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import androidx.work.WorkerParameters
|
import androidx.work.WorkerParameters
|
||||||
|
@ -15,7 +15,6 @@ import info.nightscout.interfaces.plugin.PluginBase
|
||||||
import info.nightscout.interfaces.plugin.PluginDescription
|
import info.nightscout.interfaces.plugin.PluginDescription
|
||||||
import info.nightscout.interfaces.plugin.PluginType
|
import info.nightscout.interfaces.plugin.PluginType
|
||||||
import info.nightscout.interfaces.source.BgSource
|
import info.nightscout.interfaces.source.BgSource
|
||||||
import info.nightscout.plugins.R
|
|
||||||
import info.nightscout.rx.logging.AAPSLogger
|
import info.nightscout.rx.logging.AAPSLogger
|
||||||
import info.nightscout.rx.logging.LTag
|
import info.nightscout.rx.logging.LTag
|
||||||
import info.nightscout.shared.interfaces.ResourceHelper
|
import info.nightscout.shared.interfaces.ResourceHelper
|
|
@ -1,4 +1,4 @@
|
||||||
package info.nightscout.plugins.source
|
package info.nightscout.source
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
|
@ -20,7 +20,6 @@ import info.nightscout.interfaces.plugin.PluginBase
|
||||||
import info.nightscout.interfaces.plugin.PluginDescription
|
import info.nightscout.interfaces.plugin.PluginDescription
|
||||||
import info.nightscout.interfaces.plugin.PluginType
|
import info.nightscout.interfaces.plugin.PluginType
|
||||||
import info.nightscout.interfaces.source.BgSource
|
import info.nightscout.interfaces.source.BgSource
|
||||||
import info.nightscout.plugins.R
|
|
||||||
import info.nightscout.rx.logging.AAPSLogger
|
import info.nightscout.rx.logging.AAPSLogger
|
||||||
import info.nightscout.rx.logging.LTag
|
import info.nightscout.rx.logging.LTag
|
||||||
import info.nightscout.shared.interfaces.ResourceHelper
|
import info.nightscout.shared.interfaces.ResourceHelper
|
|
@ -1,4 +1,4 @@
|
||||||
package info.nightscout.plugins.source
|
package info.nightscout.source
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.pm.PackageManager
|
import android.content.pm.PackageManager
|
||||||
|
@ -22,7 +22,6 @@ import info.nightscout.interfaces.plugin.PluginBase
|
||||||
import info.nightscout.interfaces.plugin.PluginDescription
|
import info.nightscout.interfaces.plugin.PluginDescription
|
||||||
import info.nightscout.interfaces.plugin.PluginType
|
import info.nightscout.interfaces.plugin.PluginType
|
||||||
import info.nightscout.interfaces.source.BgSource
|
import info.nightscout.interfaces.source.BgSource
|
||||||
import info.nightscout.plugins.R
|
|
||||||
import info.nightscout.rx.logging.AAPSLogger
|
import info.nightscout.rx.logging.AAPSLogger
|
||||||
import info.nightscout.rx.logging.LTag
|
import info.nightscout.rx.logging.LTag
|
||||||
import info.nightscout.shared.extensions.safeGetInstalledPackages
|
import info.nightscout.shared.extensions.safeGetInstalledPackages
|
|
@ -1,4 +1,4 @@
|
||||||
package info.nightscout.plugins.source
|
package info.nightscout.source
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import androidx.work.WorkerParameters
|
import androidx.work.WorkerParameters
|
||||||
|
@ -15,7 +15,6 @@ import info.nightscout.interfaces.plugin.PluginBase
|
||||||
import info.nightscout.interfaces.plugin.PluginDescription
|
import info.nightscout.interfaces.plugin.PluginDescription
|
||||||
import info.nightscout.interfaces.plugin.PluginType
|
import info.nightscout.interfaces.plugin.PluginType
|
||||||
import info.nightscout.interfaces.source.BgSource
|
import info.nightscout.interfaces.source.BgSource
|
||||||
import info.nightscout.plugins.R
|
|
||||||
import info.nightscout.rx.logging.AAPSLogger
|
import info.nightscout.rx.logging.AAPSLogger
|
||||||
import info.nightscout.rx.logging.LTag
|
import info.nightscout.rx.logging.LTag
|
||||||
import info.nightscout.shared.interfaces.ResourceHelper
|
import info.nightscout.shared.interfaces.ResourceHelper
|
|
@ -1,4 +1,4 @@
|
||||||
package info.nightscout.plugins.source
|
package info.nightscout.source
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import androidx.work.WorkerParameters
|
import androidx.work.WorkerParameters
|
||||||
|
@ -21,7 +21,6 @@ import info.nightscout.interfaces.plugin.PluginType
|
||||||
import info.nightscout.interfaces.source.BgSource
|
import info.nightscout.interfaces.source.BgSource
|
||||||
import info.nightscout.interfaces.source.DoingOwnUploadSource
|
import info.nightscout.interfaces.source.DoingOwnUploadSource
|
||||||
import info.nightscout.interfaces.source.NSClientSource
|
import info.nightscout.interfaces.source.NSClientSource
|
||||||
import info.nightscout.plugins.R
|
|
||||||
import info.nightscout.rx.bus.RxBus
|
import info.nightscout.rx.bus.RxBus
|
||||||
import info.nightscout.rx.events.EventDismissNotification
|
import info.nightscout.rx.events.EventDismissNotification
|
||||||
import info.nightscout.rx.logging.AAPSLogger
|
import info.nightscout.rx.logging.AAPSLogger
|
|
@ -1,4 +1,4 @@
|
||||||
package info.nightscout.plugins.source
|
package info.nightscout.source
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import androidx.work.WorkerParameters
|
import androidx.work.WorkerParameters
|
||||||
|
@ -16,7 +16,6 @@ import info.nightscout.interfaces.plugin.PluginDescription
|
||||||
import info.nightscout.interfaces.plugin.PluginType
|
import info.nightscout.interfaces.plugin.PluginType
|
||||||
import info.nightscout.interfaces.source.BgSource
|
import info.nightscout.interfaces.source.BgSource
|
||||||
import info.nightscout.interfaces.utils.JsonHelper.safeGetString
|
import info.nightscout.interfaces.utils.JsonHelper.safeGetString
|
||||||
import info.nightscout.plugins.R
|
|
||||||
import info.nightscout.rx.logging.AAPSLogger
|
import info.nightscout.rx.logging.AAPSLogger
|
||||||
import info.nightscout.rx.logging.LTag
|
import info.nightscout.rx.logging.LTag
|
||||||
import info.nightscout.shared.interfaces.ResourceHelper
|
import info.nightscout.shared.interfaces.ResourceHelper
|
|
@ -1,4 +1,4 @@
|
||||||
package info.nightscout.plugins.source
|
package info.nightscout.source
|
||||||
|
|
||||||
import android.os.Handler
|
import android.os.Handler
|
||||||
import android.os.HandlerThread
|
import android.os.HandlerThread
|
||||||
|
@ -16,7 +16,6 @@ import info.nightscout.interfaces.plugin.PluginDescription
|
||||||
import info.nightscout.interfaces.plugin.PluginType
|
import info.nightscout.interfaces.plugin.PluginType
|
||||||
import info.nightscout.interfaces.pump.VirtualPump
|
import info.nightscout.interfaces.pump.VirtualPump
|
||||||
import info.nightscout.interfaces.source.BgSource
|
import info.nightscout.interfaces.source.BgSource
|
||||||
import info.nightscout.plugins.R
|
|
||||||
import info.nightscout.rx.logging.AAPSLogger
|
import info.nightscout.rx.logging.AAPSLogger
|
||||||
import info.nightscout.rx.logging.LTag
|
import info.nightscout.rx.logging.LTag
|
||||||
import info.nightscout.shared.interfaces.ResourceHelper
|
import info.nightscout.shared.interfaces.ResourceHelper
|
|
@ -1,4 +1,4 @@
|
||||||
package info.nightscout.plugins.source
|
package info.nightscout.source
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import androidx.work.WorkerParameters
|
import androidx.work.WorkerParameters
|
||||||
|
@ -14,7 +14,6 @@ import info.nightscout.interfaces.plugin.PluginBase
|
||||||
import info.nightscout.interfaces.plugin.PluginDescription
|
import info.nightscout.interfaces.plugin.PluginDescription
|
||||||
import info.nightscout.interfaces.plugin.PluginType
|
import info.nightscout.interfaces.plugin.PluginType
|
||||||
import info.nightscout.interfaces.source.BgSource
|
import info.nightscout.interfaces.source.BgSource
|
||||||
import info.nightscout.plugins.R
|
|
||||||
import info.nightscout.rx.logging.AAPSLogger
|
import info.nightscout.rx.logging.AAPSLogger
|
||||||
import info.nightscout.rx.logging.LTag
|
import info.nightscout.rx.logging.LTag
|
||||||
import info.nightscout.shared.interfaces.ResourceHelper
|
import info.nightscout.shared.interfaces.ResourceHelper
|
|
@ -1,4 +1,4 @@
|
||||||
package info.nightscout.plugins.source
|
package info.nightscout.source
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import androidx.work.WorkerParameters
|
import androidx.work.WorkerParameters
|
||||||
|
@ -16,7 +16,7 @@ import info.nightscout.interfaces.plugin.PluginType
|
||||||
import info.nightscout.interfaces.receivers.Intents
|
import info.nightscout.interfaces.receivers.Intents
|
||||||
import info.nightscout.interfaces.source.BgSource
|
import info.nightscout.interfaces.source.BgSource
|
||||||
import info.nightscout.interfaces.source.DoingOwnUploadSource
|
import info.nightscout.interfaces.source.DoingOwnUploadSource
|
||||||
import info.nightscout.plugins.R
|
import info.nightscout.interfaces.source.XDrip
|
||||||
import info.nightscout.rx.logging.AAPSLogger
|
import info.nightscout.rx.logging.AAPSLogger
|
||||||
import info.nightscout.rx.logging.LTag
|
import info.nightscout.rx.logging.LTag
|
||||||
import info.nightscout.shared.interfaces.ResourceHelper
|
import info.nightscout.shared.interfaces.ResourceHelper
|
||||||
|
@ -36,7 +36,7 @@ class XdripPlugin @Inject constructor(
|
||||||
.pluginName(R.string.xdrip)
|
.pluginName(R.string.xdrip)
|
||||||
.description(R.string.description_source_xdrip),
|
.description(R.string.description_source_xdrip),
|
||||||
aapsLogger, rh, injector
|
aapsLogger, rh, injector
|
||||||
), BgSource, DoingOwnUploadSource {
|
), BgSource, DoingOwnUploadSource, XDrip {
|
||||||
|
|
||||||
private var advancedFiltering = false
|
private var advancedFiltering = false
|
||||||
override var sensorBatteryLevel = -1
|
override var sensorBatteryLevel = -1
|
|
@ -1,8 +1,8 @@
|
||||||
package info.nightscout.plugins.source.activities
|
package info.nightscout.source.activities
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import info.nightscout.core.ui.activities.DialogAppCompatActivity
|
import info.nightscout.core.ui.activities.DialogAppCompatActivity
|
||||||
import info.nightscout.plugins.source.DexcomPlugin
|
import info.nightscout.source.DexcomPlugin
|
||||||
|
|
||||||
class RequestDexcomPermissionActivity : DialogAppCompatActivity() {
|
class RequestDexcomPermissionActivity : DialogAppCompatActivity() {
|
||||||
|
|
|
@ -1,21 +1,22 @@
|
||||||
package info.nightscout.plugins.di
|
package info.nightscout.source.di
|
||||||
|
|
||||||
import dagger.Binds
|
import dagger.Binds
|
||||||
import dagger.Module
|
import dagger.Module
|
||||||
import dagger.android.ContributesAndroidInjector
|
import dagger.android.ContributesAndroidInjector
|
||||||
|
import info.nightscout.interfaces.source.DexcomBoyda
|
||||||
import info.nightscout.interfaces.source.NSClientSource
|
import info.nightscout.interfaces.source.NSClientSource
|
||||||
import info.nightscout.plugins.profile.ProfilePlugin
|
import info.nightscout.interfaces.source.XDrip
|
||||||
import info.nightscout.plugins.source.AidexPlugin
|
import info.nightscout.source.AidexPlugin
|
||||||
import info.nightscout.plugins.source.BGSourceFragment
|
import info.nightscout.source.BGSourceFragment
|
||||||
import info.nightscout.plugins.source.DexcomPlugin
|
import info.nightscout.source.DexcomPlugin
|
||||||
import info.nightscout.plugins.source.EversensePlugin
|
import info.nightscout.source.EversensePlugin
|
||||||
import info.nightscout.plugins.source.GlimpPlugin
|
import info.nightscout.source.GlimpPlugin
|
||||||
import info.nightscout.plugins.source.MM640gPlugin
|
import info.nightscout.source.MM640gPlugin
|
||||||
import info.nightscout.plugins.source.NSClientSourcePlugin
|
import info.nightscout.source.NSClientSourcePlugin
|
||||||
import info.nightscout.plugins.source.PoctechPlugin
|
import info.nightscout.source.PoctechPlugin
|
||||||
import info.nightscout.plugins.source.TomatoPlugin
|
import info.nightscout.source.TomatoPlugin
|
||||||
import info.nightscout.plugins.source.XdripPlugin
|
import info.nightscout.source.XdripPlugin
|
||||||
import info.nightscout.plugins.source.activities.RequestDexcomPermissionActivity
|
import info.nightscout.source.activities.RequestDexcomPermissionActivity
|
||||||
|
|
||||||
@Module(
|
@Module(
|
||||||
includes = [
|
includes = [
|
||||||
|
@ -28,7 +29,6 @@ abstract class SourceModule {
|
||||||
|
|
||||||
@ContributesAndroidInjector abstract fun contributesBGSourceFragment(): BGSourceFragment
|
@ContributesAndroidInjector abstract fun contributesBGSourceFragment(): BGSourceFragment
|
||||||
|
|
||||||
@ContributesAndroidInjector abstract fun contributesNSProfileWorker(): ProfilePlugin.NSProfileWorker
|
|
||||||
@ContributesAndroidInjector abstract fun contributesNSClientSourceWorker(): NSClientSourcePlugin.NSClientSourceWorker
|
@ContributesAndroidInjector abstract fun contributesNSClientSourceWorker(): NSClientSourcePlugin.NSClientSourceWorker
|
||||||
@ContributesAndroidInjector abstract fun contributesXdripWorker(): XdripPlugin.XdripWorker
|
@ContributesAndroidInjector abstract fun contributesXdripWorker(): XdripPlugin.XdripWorker
|
||||||
@ContributesAndroidInjector abstract fun contributesDexcomWorker(): DexcomPlugin.DexcomWorker
|
@ContributesAndroidInjector abstract fun contributesDexcomWorker(): DexcomPlugin.DexcomWorker
|
||||||
|
@ -43,6 +43,9 @@ abstract class SourceModule {
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
interface Bindings {
|
interface Bindings {
|
||||||
|
|
||||||
@Binds fun bindNSClientSource(nsClientSourcePlugin: NSClientSourcePlugin): NSClientSource
|
@Binds fun bindNSClientSource(nsClientSourcePlugin: NSClientSourcePlugin): NSClientSource
|
||||||
|
@Binds fun bindDexcomBoyda(dexcomPlugin: DexcomPlugin): DexcomBoyda
|
||||||
|
@Binds fun bindXDrip(xdripPlugin: XdripPlugin): XDrip
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -4,7 +4,7 @@
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:paddingTop="2dp"
|
android:paddingTop="2dp"
|
||||||
tools:context=".source.BGSourceFragment">
|
tools:context=".BGSourceFragment">
|
||||||
|
|
||||||
<androidx.recyclerview.widget.RecyclerView
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
android:id="@+id/recyclerview"
|
android:id="@+id/recyclerview"
|
|
@ -54,7 +54,8 @@
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
app:srcCompat="@drawable/ic_flat" />
|
app:srcCompat="@drawable/ic_flat"
|
||||||
|
android:contentDescription="@string/direction" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/ns"
|
android:id="@+id/ns"
|
47
plugins/source/src/main/res/values/strings.xml
Normal file
47
plugins/source/src/main/res/values/strings.xml
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
<!-- Source -->
|
||||||
|
<string name="key_dexcom_log_ns_sensor_change" translatable="false">dexcom_lognssensorchange</string>
|
||||||
|
<string name="key_last_processed_glunovo_timestamp" translatable="false">last_processed_glunovo_timestamp</string>
|
||||||
|
<string name="key_last_processed_intelligo_timestamp" translatable="false">last_processed_intelligo_timestamp</string>
|
||||||
|
|
||||||
|
<string name="ns_client_bg">NSClient BG</string>
|
||||||
|
<string name="ns_client_bg_short">NS BG</string>
|
||||||
|
<string name="description_source_ns_client">Downloads BG data from Nightscout</string>
|
||||||
|
<string name="xdrip">xDrip+</string>
|
||||||
|
<string name="description_source_xdrip">Receive BG values from xDrip+.</string>
|
||||||
|
<string name="dexcom_app_patched">BYODA</string>
|
||||||
|
<string name="dexcom_short">BYODA</string>
|
||||||
|
<string name="description_source_dexcom">Receive BG values from the \'Build Your Own Dexcom App\'.</string>
|
||||||
|
<string name="eversense">Eversense App (patched)</string>
|
||||||
|
<string name="eversense_shortname" translatable="false">EVR</string>
|
||||||
|
<string name="description_source_eversense">Receive BG values from the patched Eversense app.</string>
|
||||||
|
<string name="glimp">Glimp</string>
|
||||||
|
<string name="description_source_glimp">Receive BG values from Glimp.</string>
|
||||||
|
<string name="mm640g">MM640g</string>
|
||||||
|
<string name="description_source_mm640g">Receive BG values from the 600SeriesAndroidUploader.</string>
|
||||||
|
<string name="poctech">Poctech</string>
|
||||||
|
<string name="description_source_poctech">Receive BG values from Poctech app</string>
|
||||||
|
<string name="glunovo">Glunovo</string>
|
||||||
|
<string name="description_source_glunovo">Receive values from Glunovo app</string>
|
||||||
|
<string name="intelligo">Intelligo</string>
|
||||||
|
<string name="description_source_intelligo">Receive values from Intelligo app</string>
|
||||||
|
<string name="tomato">Tomato (MiaoMiao)</string>
|
||||||
|
<string name="tomato_short">Tomato</string>
|
||||||
|
<string name="description_source_tomato">Receive BG values from Tomato app (MiaoMiao device)</string>
|
||||||
|
<string name="aidex">GlucoRx Aidex</string>
|
||||||
|
<string name="aidex_short">Aidex</string>
|
||||||
|
<string name="description_source_aidex">Receive BG values from GlucoRx Aidex CGMS.</string>
|
||||||
|
<string name="random_bg">Random BG</string>
|
||||||
|
<string name="description_source_random_bg">Generate random BG data (Demo mode only)</string>
|
||||||
|
<string name="random_bg_short">BG</string>
|
||||||
|
|
||||||
|
<string name="do_xdrip_upload_title">Send BG data to xDrip+</string>
|
||||||
|
<string name="do_xdrip_upload_summary">In xDrip+ select 640g/Eversense data source</string>
|
||||||
|
<string name="bgsource_upload">BG upload settings</string>
|
||||||
|
<string name="dexcom_log_ns_sensor_change_title">Log sensor change to NS</string>
|
||||||
|
<string name="dexcom_log_ns_sensor_change_summary">Create event \"Sensor Change\" in NS automatically on sensor start</string>
|
||||||
|
<string name="direction">direction</string>
|
||||||
|
|
||||||
|
|
||||||
|
</resources>
|
|
@ -0,0 +1,37 @@
|
||||||
|
package info.nightscout.androidaps
|
||||||
|
|
||||||
|
import info.nightscout.rx.AapsSchedulers
|
||||||
|
import info.nightscout.rx.TestAapsSchedulers
|
||||||
|
import info.nightscout.rx.logging.AAPSLoggerTest
|
||||||
|
import org.junit.jupiter.api.BeforeEach
|
||||||
|
import org.junit.jupiter.api.extension.ExtendWith
|
||||||
|
import org.mockito.Mockito
|
||||||
|
import org.mockito.junit.jupiter.MockitoExtension
|
||||||
|
import org.mockito.junit.jupiter.MockitoSettings
|
||||||
|
import org.mockito.quality.Strictness
|
||||||
|
import java.util.Locale
|
||||||
|
|
||||||
|
@ExtendWith(MockitoExtension::class)
|
||||||
|
@MockitoSettings(strictness = Strictness.LENIENT)
|
||||||
|
open class TestBase {
|
||||||
|
|
||||||
|
val aapsLogger = AAPSLoggerTest()
|
||||||
|
val aapsSchedulers: AapsSchedulers = TestAapsSchedulers()
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
fun setupLocale() {
|
||||||
|
Locale.setDefault(Locale.ENGLISH)
|
||||||
|
System.setProperty("disableFirebase", "true")
|
||||||
|
}
|
||||||
|
|
||||||
|
// Workaround for Kotlin nullability.
|
||||||
|
// https://medium.com/@elye.project/befriending-kotlin-and-mockito-1c2e7b0ef791
|
||||||
|
// https://stackoverflow.com/questions/30305217/is-it-possible-to-use-mockito-in-kotlin
|
||||||
|
fun <T> anyObject(): T {
|
||||||
|
Mockito.any<T>()
|
||||||
|
return uninitialized()
|
||||||
|
}
|
||||||
|
|
||||||
|
@Suppress("Unchecked_Cast")
|
||||||
|
fun <T> uninitialized(): T = null as T
|
||||||
|
}
|
|
@ -1,12 +1,10 @@
|
||||||
package info.nightscout.androidaps.plugins.source
|
package info.nightscout.source
|
||||||
|
|
||||||
import dagger.android.AndroidInjector
|
import dagger.android.AndroidInjector
|
||||||
import dagger.android.HasAndroidInjector
|
|
||||||
import info.nightscout.androidaps.TestBase
|
import info.nightscout.androidaps.TestBase
|
||||||
import info.nightscout.plugins.source.GlimpPlugin
|
|
||||||
import info.nightscout.shared.interfaces.ResourceHelper
|
import info.nightscout.shared.interfaces.ResourceHelper
|
||||||
import info.nightscout.shared.sharedPreferences.SP
|
import info.nightscout.shared.sharedPreferences.SP
|
||||||
import org.junit.Assert
|
import org.junit.jupiter.api.Assertions
|
||||||
import org.junit.jupiter.api.BeforeEach
|
import org.junit.jupiter.api.BeforeEach
|
||||||
import org.junit.jupiter.api.Test
|
import org.junit.jupiter.api.Test
|
||||||
import org.mockito.Mock
|
import org.mockito.Mock
|
||||||
|
@ -20,10 +18,10 @@ class GlimpPluginTest : TestBase() {
|
||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
fun setup() {
|
fun setup() {
|
||||||
glimpPlugin = GlimpPlugin(HasAndroidInjector { AndroidInjector { } }, rh, aapsLogger, sp)
|
glimpPlugin = GlimpPlugin({ AndroidInjector { } }, rh, aapsLogger, sp)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test fun advancedFilteringSupported() {
|
@Test fun advancedFilteringSupported() {
|
||||||
Assert.assertEquals(false, glimpPlugin.advancedFilteringSupported())
|
Assertions.assertEquals(false, glimpPlugin.advancedFilteringSupported())
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,12 +1,10 @@
|
||||||
package info.nightscout.androidaps.plugins.source
|
package info.nightscout.source
|
||||||
|
|
||||||
import dagger.android.AndroidInjector
|
import dagger.android.AndroidInjector
|
||||||
import dagger.android.HasAndroidInjector
|
|
||||||
import info.nightscout.androidaps.TestBase
|
import info.nightscout.androidaps.TestBase
|
||||||
import info.nightscout.plugins.source.MM640gPlugin
|
|
||||||
import info.nightscout.shared.interfaces.ResourceHelper
|
import info.nightscout.shared.interfaces.ResourceHelper
|
||||||
import info.nightscout.shared.sharedPreferences.SP
|
import info.nightscout.shared.sharedPreferences.SP
|
||||||
import org.junit.Assert
|
import org.junit.jupiter.api.Assertions
|
||||||
import org.junit.jupiter.api.BeforeEach
|
import org.junit.jupiter.api.BeforeEach
|
||||||
import org.junit.jupiter.api.Test
|
import org.junit.jupiter.api.Test
|
||||||
import org.mockito.Mock
|
import org.mockito.Mock
|
||||||
|
@ -20,10 +18,10 @@ class MM640GPluginTest : TestBase() {
|
||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
fun setup() {
|
fun setup() {
|
||||||
mM640gPlugin = MM640gPlugin(HasAndroidInjector { AndroidInjector { } }, rh, aapsLogger, sp)
|
mM640gPlugin = MM640gPlugin({ AndroidInjector { } }, rh, aapsLogger, sp)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test fun advancedFilteringSupported() {
|
@Test fun advancedFilteringSupported() {
|
||||||
Assert.assertEquals(false, mM640gPlugin.advancedFilteringSupported())
|
Assertions.assertEquals(false, mM640gPlugin.advancedFilteringSupported())
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,29 +1,27 @@
|
||||||
package info.nightscout.androidaps.plugins.source
|
package info.nightscout.source
|
||||||
|
|
||||||
import dagger.android.AndroidInjector
|
import dagger.android.AndroidInjector
|
||||||
import info.nightscout.androidaps.TestBase
|
import info.nightscout.androidaps.TestBase
|
||||||
import info.nightscout.interfaces.Config
|
import info.nightscout.interfaces.Config
|
||||||
import info.nightscout.shared.interfaces.ResourceHelper
|
import info.nightscout.shared.interfaces.ResourceHelper
|
||||||
import info.nightscout.shared.sharedPreferences.SP
|
import org.junit.jupiter.api.Assertions
|
||||||
import org.junit.Assert
|
|
||||||
import org.junit.jupiter.api.BeforeEach
|
import org.junit.jupiter.api.BeforeEach
|
||||||
import org.junit.jupiter.api.Test
|
import org.junit.jupiter.api.Test
|
||||||
import org.mockito.Mock
|
import org.mockito.Mock
|
||||||
|
|
||||||
class NSClientPluginTest : TestBase() {
|
class NSClientPluginTest : TestBase() {
|
||||||
|
|
||||||
private lateinit var nsClientSourcePlugin: info.nightscout.plugins.source.NSClientSourcePlugin
|
private lateinit var nsClientSourcePlugin: NSClientSourcePlugin
|
||||||
|
|
||||||
@Mock lateinit var rh: ResourceHelper
|
@Mock lateinit var rh: ResourceHelper
|
||||||
@Mock lateinit var sp: SP
|
|
||||||
@Mock lateinit var config: Config
|
@Mock lateinit var config: Config
|
||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
fun setup() {
|
fun setup() {
|
||||||
nsClientSourcePlugin = info.nightscout.plugins.source.NSClientSourcePlugin({ AndroidInjector { } }, rh, aapsLogger, config)
|
nsClientSourcePlugin = NSClientSourcePlugin({ AndroidInjector { } }, rh, aapsLogger, config)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test fun advancedFilteringSupported() {
|
@Test fun advancedFilteringSupported() {
|
||||||
Assert.assertEquals(false, nsClientSourcePlugin.advancedFilteringSupported())
|
Assertions.assertEquals(false, nsClientSourcePlugin.advancedFilteringSupported())
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,11 +1,9 @@
|
||||||
package info.nightscout.androidaps.plugins.source
|
package info.nightscout.source
|
||||||
|
|
||||||
import dagger.android.AndroidInjector
|
import dagger.android.AndroidInjector
|
||||||
import dagger.android.HasAndroidInjector
|
|
||||||
import info.nightscout.androidaps.TestBase
|
import info.nightscout.androidaps.TestBase
|
||||||
import info.nightscout.plugins.source.XdripPlugin
|
|
||||||
import info.nightscout.shared.interfaces.ResourceHelper
|
import info.nightscout.shared.interfaces.ResourceHelper
|
||||||
import org.junit.Assert
|
import org.junit.jupiter.api.Assertions
|
||||||
import org.junit.jupiter.api.BeforeEach
|
import org.junit.jupiter.api.BeforeEach
|
||||||
import org.junit.jupiter.api.Test
|
import org.junit.jupiter.api.Test
|
||||||
import org.mockito.Mock
|
import org.mockito.Mock
|
||||||
|
@ -18,10 +16,10 @@ class XdripPluginTest : TestBase() {
|
||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
fun setup() {
|
fun setup() {
|
||||||
xdripPlugin = XdripPlugin(HasAndroidInjector { AndroidInjector { } }, rh, aapsLogger)
|
xdripPlugin = XdripPlugin({ AndroidInjector { } }, rh, aapsLogger)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test fun advancedFilteringSupported() {
|
@Test fun advancedFilteringSupported() {
|
||||||
Assert.assertEquals(false, xdripPlugin.advancedFilteringSupported())
|
Assertions.assertEquals(false, xdripPlugin.advancedFilteringSupported())
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -22,6 +22,7 @@ include ':plugins:insulin'
|
||||||
include ':plugins:main'
|
include ':plugins:main'
|
||||||
include ':plugins:openhumans'
|
include ':plugins:openhumans'
|
||||||
include ':plugins:sensitivity'
|
include ':plugins:sensitivity'
|
||||||
|
include ':plugins:source'
|
||||||
include ':plugins:constraints'
|
include ':plugins:constraints'
|
||||||
include ':pump:combo'
|
include ':pump:combo'
|
||||||
include ':pump:combov2'
|
include ':pump:combov2'
|
||||||
|
|
Loading…
Reference in a new issue