Merge branch 'dev2_dana_combo_only' into meallink-mdt
This commit is contained in:
commit
0d1ff8dd41
397 changed files with 2880 additions and 2091 deletions
|
@ -2,22 +2,6 @@
|
|||
<code_scheme name="Project" version="173">
|
||||
<option name="AUTODETECT_INDENTS" value="false" />
|
||||
<JetCodeStyleSettings>
|
||||
<option name="PACKAGES_TO_USE_STAR_IMPORTS">
|
||||
<value>
|
||||
<package name="java.util" alias="false" withSubpackages="false" />
|
||||
<package name="kotlinx.android.synthetic" alias="false" withSubpackages="true" />
|
||||
<package name="io.ktor" alias="false" withSubpackages="true" />
|
||||
</value>
|
||||
</option>
|
||||
<option name="PACKAGES_IMPORT_LAYOUT">
|
||||
<value>
|
||||
<package name="" alias="false" withSubpackages="true" />
|
||||
<package name="java" alias="false" withSubpackages="true" />
|
||||
<package name="javax" alias="false" withSubpackages="true" />
|
||||
<package name="kotlin" alias="false" withSubpackages="true" />
|
||||
<package name="" alias="true" withSubpackages="true" />
|
||||
</value>
|
||||
</option>
|
||||
<option name="ALIGN_IN_COLUMNS_CASE_BRANCH" value="true" />
|
||||
<option name="NAME_COUNT_TO_USE_STAR_IMPORT" value="6" />
|
||||
<option name="NAME_COUNT_TO_USE_STAR_IMPORT_FOR_MEMBERS" value="6" />
|
||||
|
|
|
@ -1,35 +1,8 @@
|
|||
package info.nightscout.androidaps
|
||||
|
||||
import android.os.SystemClock
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
import androidx.test.filters.LargeTest
|
||||
import androidx.test.rule.ActivityTestRule
|
||||
import androidx.test.rule.GrantPermissionRule
|
||||
import info.nightscout.androidaps.data.Profile
|
||||
import info.nightscout.androidaps.interfaces.PluginBase
|
||||
import info.nightscout.androidaps.interfaces.PluginType
|
||||
import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin
|
||||
import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin
|
||||
import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin
|
||||
import info.nightscout.androidaps.interfaces.ProfileFunction
|
||||
import info.nightscout.androidaps.plugins.constraints.objectives.ObjectivesPlugin
|
||||
import info.nightscout.androidaps.plugins.general.actions.ActionsPlugin
|
||||
import info.nightscout.androidaps.plugins.insulin.InsulinOrefUltraRapidActingPlugin
|
||||
import info.nightscout.androidaps.plugins.profile.local.LocalProfilePlugin
|
||||
import info.nightscout.androidaps.danaRv2.DanaRv2Plugin
|
||||
import info.nightscout.androidaps.plugins.sensitivity.SensitivityOref1Plugin
|
||||
import info.nightscout.androidaps.plugins.source.RandomBgPlugin
|
||||
import info.nightscout.androidaps.plugins.treatments.TreatmentsPlugin
|
||||
import info.nightscout.androidaps.utils.DateUtil
|
||||
import info.nightscout.androidaps.utils.extensions.isRunningTest
|
||||
import info.nightscout.androidaps.utils.sharedPreferences.SP
|
||||
import org.json.JSONObject
|
||||
import org.junit.Assert
|
||||
import org.junit.Before
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import javax.inject.Inject
|
||||
|
||||
@LargeTest
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
package info.nightscout.androidaps
|
||||
|
|
@ -39,7 +39,9 @@ import info.nightscout.androidaps.events.EventAppExit
|
|||
import info.nightscout.androidaps.events.EventPreferenceChange
|
||||
import info.nightscout.androidaps.events.EventRebuildTabs
|
||||
import info.nightscout.androidaps.historyBrowser.HistoryBrowseActivity
|
||||
import info.nightscout.androidaps.interfaces.ActivePluginProvider
|
||||
import info.nightscout.androidaps.interfaces.ActivePlugin
|
||||
import info.nightscout.androidaps.interfaces.Config
|
||||
import info.nightscout.androidaps.interfaces.IconsProvider
|
||||
import info.nightscout.androidaps.interfaces.PluginType
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
import info.nightscout.androidaps.logging.LTag
|
||||
|
@ -59,7 +61,6 @@ import info.nightscout.androidaps.utils.buildHelper.BuildHelper
|
|||
import info.nightscout.androidaps.utils.extensions.isRunningRealPumpTest
|
||||
import info.nightscout.androidaps.utils.locale.LocaleHelper
|
||||
import info.nightscout.androidaps.utils.protection.ProtectionCheck
|
||||
import info.nightscout.androidaps.utils.resources.IconsProvider
|
||||
import info.nightscout.androidaps.utils.rx.AapsSchedulers
|
||||
import info.nightscout.androidaps.utils.sharedPreferences.SP
|
||||
import info.nightscout.androidaps.utils.tabs.TabPageAdapter
|
||||
|
@ -83,7 +84,7 @@ class MainActivity : NoSplashAppCompatActivity() {
|
|||
@Inject lateinit var loopPlugin: LoopPlugin
|
||||
@Inject lateinit var nsSettingsStatus: NSSettingsStatus
|
||||
@Inject lateinit var buildHelper: BuildHelper
|
||||
@Inject lateinit var activePlugin: ActivePluginProvider
|
||||
@Inject lateinit var activePlugin: ActivePlugin
|
||||
@Inject lateinit var fabricPrivacy: FabricPrivacy
|
||||
@Inject lateinit var protectionCheck: ProtectionCheck
|
||||
@Inject lateinit var iconsProvider: IconsProvider
|
||||
|
@ -380,7 +381,7 @@ class MainActivity : NoSplashAppCompatActivity() {
|
|||
if (!config.NSCLIENT && !config.PUMPCONTROL)
|
||||
activePlugin.activeAPS.let { fabricPrivacy.firebaseAnalytics.setUserProperty("Aps", it::class.java.simpleName) }
|
||||
activePlugin.activeBgSource.let { fabricPrivacy.firebaseAnalytics.setUserProperty("BgSource", it::class.java.simpleName) }
|
||||
fabricPrivacy.firebaseAnalytics.setUserProperty("Profile", activePlugin.activeProfileInterface.javaClass.simpleName)
|
||||
fabricPrivacy.firebaseAnalytics.setUserProperty("Profile", activePlugin.activeProfileSource.javaClass.simpleName)
|
||||
activePlugin.activeSensitivity.let { fabricPrivacy.firebaseAnalytics.setUserProperty("Sensitivity", it::class.java.simpleName) }
|
||||
activePlugin.activeInsulin.let { fabricPrivacy.firebaseAnalytics.setUserProperty("Insulin", it::class.java.simpleName) }
|
||||
// Add to crash log too
|
||||
|
|
|
@ -18,11 +18,12 @@ import info.nightscout.androidaps.db.CompatDBHelper
|
|||
import info.nightscout.androidaps.db.DatabaseHelper
|
||||
import info.nightscout.androidaps.db.StaticInjector
|
||||
import info.nightscout.androidaps.dependencyInjection.DaggerAppComponent
|
||||
import info.nightscout.androidaps.interfaces.ConfigBuilder
|
||||
import info.nightscout.androidaps.interfaces.Config
|
||||
import info.nightscout.androidaps.interfaces.PluginBase
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
import info.nightscout.androidaps.logging.LTag
|
||||
import info.nightscout.androidaps.logging.UserEntryLogger
|
||||
import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin
|
||||
import info.nightscout.androidaps.plugins.configBuilder.PluginStore
|
||||
import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils
|
||||
import info.nightscout.androidaps.receivers.BTReceiver
|
||||
|
@ -49,7 +50,7 @@ class MainApp : DaggerApplication() {
|
|||
@Inject lateinit var versionCheckersUtils: VersionCheckerUtils
|
||||
@Inject lateinit var sp: SP
|
||||
@Inject lateinit var config: Config
|
||||
@Inject lateinit var configBuilderPlugin: ConfigBuilderPlugin
|
||||
@Inject lateinit var configBuilder: ConfigBuilder
|
||||
@Inject lateinit var keepAliveManager: KeepAliveManager
|
||||
@Inject lateinit var plugins: List<@JvmSuppressWildcards PluginBase>
|
||||
@Inject lateinit var compatDBHelper: CompatDBHelper
|
||||
|
@ -85,7 +86,7 @@ class MainApp : DaggerApplication() {
|
|||
|
||||
// Register all tabs in app here
|
||||
pluginStore.plugins = plugins
|
||||
configBuilderPlugin.initialize()
|
||||
configBuilder.initialize()
|
||||
keepAliveManager.setAlarm(this)
|
||||
doMigrations()
|
||||
uel.log(UserEntry.Action.START_AAPS, UserEntry.Sources.Aaps)
|
||||
|
|
|
@ -8,7 +8,7 @@ import android.os.Bundle
|
|||
import androidx.annotation.XmlRes
|
||||
import androidx.preference.*
|
||||
import dagger.android.support.AndroidSupportInjection
|
||||
import info.nightscout.androidaps.Config
|
||||
import info.nightscout.androidaps.interfaces.Config
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.danaRKorean.DanaRKoreanPlugin
|
||||
import info.nightscout.androidaps.danaRv2.DanaRv2Plugin
|
||||
|
|
|
@ -13,7 +13,7 @@ import info.nightscout.androidaps.data.defaultProfile.DefaultProfileDPV
|
|||
import info.nightscout.androidaps.databinding.ActivityProfilehelperBinding
|
||||
import info.nightscout.androidaps.db.ProfileSwitch
|
||||
import info.nightscout.androidaps.dialogs.ProfileViewerDialog
|
||||
import info.nightscout.androidaps.interfaces.ActivePluginProvider
|
||||
import info.nightscout.androidaps.interfaces.ActivePlugin
|
||||
import info.nightscout.androidaps.interfaces.DatabaseHelperInterface
|
||||
import info.nightscout.androidaps.interfaces.ProfileFunction
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
|
@ -39,7 +39,7 @@ class ProfileHelperActivity : NoSplashAppCompatActivity() {
|
|||
@Inject lateinit var localProfilePlugin: LocalProfilePlugin
|
||||
@Inject lateinit var rxBus: RxBusWrapper
|
||||
@Inject lateinit var dateUtil: DateUtil
|
||||
@Inject lateinit var activePlugin: ActivePluginProvider
|
||||
@Inject lateinit var activePlugin: ActivePlugin
|
||||
@Inject lateinit var databaseHelper: DatabaseHelperInterface
|
||||
|
||||
enum class ProfileType {
|
||||
|
@ -98,7 +98,7 @@ class ProfileHelperActivity : NoSplashAppCompatActivity() {
|
|||
}
|
||||
|
||||
// Active profile
|
||||
profileList = activePlugin.activeProfileInterface.profile?.getProfileList() ?: ArrayList()
|
||||
profileList = activePlugin.activeProfileSource.profile?.getProfileList() ?: ArrayList()
|
||||
|
||||
binding.availableProfileList.setOnClickListener {
|
||||
PopupMenu(this, binding.availableProfileList).apply {
|
||||
|
@ -233,7 +233,7 @@ class ProfileHelperActivity : NoSplashAppCompatActivity() {
|
|||
ProfileType.MOTOL_DEFAULT -> defaultProfile.profile(age, tdd, weight, profileFunction.getUnits())
|
||||
ProfileType.DPV_DEFAULT -> defaultProfileDPV.profile(age, tdd, basalPct, profileFunction.getUnits())
|
||||
ProfileType.CURRENT -> profileFunction.getProfile()?.convertToNonCustomizedProfile()
|
||||
ProfileType.AVAILABLE_PROFILE -> activePlugin.activeProfileInterface.profile?.getSpecificProfile(profileList[profileUsed[tab]].toString())
|
||||
ProfileType.AVAILABLE_PROFILE -> activePlugin.activeProfileSource.profile?.getSpecificProfile(profileList[profileUsed[tab]].toString())
|
||||
ProfileType.PROFILE_SWITCH -> profileSwitch[profileSwitchUsed[tab]].profileObject?.convertToNonCustomizedProfile()
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
|
|
|
@ -8,7 +8,7 @@ import info.nightscout.androidaps.R
|
|||
import info.nightscout.androidaps.data.defaultProfile.DefaultProfile
|
||||
import info.nightscout.androidaps.databinding.ActivitySurveyBinding
|
||||
import info.nightscout.androidaps.dialogs.ProfileViewerDialog
|
||||
import info.nightscout.androidaps.interfaces.ActivePluginProvider
|
||||
import info.nightscout.androidaps.interfaces.ActivePlugin
|
||||
import info.nightscout.androidaps.interfaces.ProfileFunction
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
import info.nightscout.androidaps.logging.LTag
|
||||
|
@ -24,7 +24,7 @@ import javax.inject.Inject
|
|||
class SurveyActivity : NoSplashAppCompatActivity() {
|
||||
|
||||
@Inject lateinit var aapsLogger: AAPSLogger
|
||||
@Inject lateinit var activePlugin: ActivePluginProvider
|
||||
@Inject lateinit var activePlugin: ActivePlugin
|
||||
@Inject lateinit var tddCalculator: TddCalculator
|
||||
@Inject lateinit var tirCalculator: TirCalculator
|
||||
@Inject lateinit var profileFunction: ProfileFunction
|
||||
|
@ -41,7 +41,7 @@ class SurveyActivity : NoSplashAppCompatActivity() {
|
|||
|
||||
binding.id.text = InstanceId.instanceId()
|
||||
|
||||
val profileStore = activePlugin.activeProfileInterface.profile
|
||||
val profileStore = activePlugin.activeProfileSource.profile
|
||||
val profileList = profileStore?.getProfileList() ?: return
|
||||
binding.spinner.adapter = ArrayAdapter(this, R.layout.spinner_centered, profileList)
|
||||
|
||||
|
|
|
@ -37,9 +37,9 @@ import info.nightscout.androidaps.data.Profile;
|
|||
import info.nightscout.androidaps.events.EventProfileNeedsUpdate;
|
||||
import info.nightscout.androidaps.events.EventRefreshOverview;
|
||||
import info.nightscout.androidaps.events.EventReloadProfileSwitchData;
|
||||
import info.nightscout.androidaps.interfaces.ActivePluginProvider;
|
||||
import info.nightscout.androidaps.interfaces.ActivePlugin;
|
||||
import info.nightscout.androidaps.interfaces.DatabaseHelperInterface;
|
||||
import info.nightscout.androidaps.interfaces.ProfileInterface;
|
||||
import info.nightscout.androidaps.interfaces.ProfileSource;
|
||||
import info.nightscout.androidaps.interfaces.ProfileStore;
|
||||
import info.nightscout.androidaps.logging.AAPSLogger;
|
||||
import info.nightscout.androidaps.logging.LTag;
|
||||
|
@ -63,7 +63,7 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper {
|
|||
@Inject RxBusWrapper rxBus;
|
||||
@Inject VirtualPumpPlugin virtualPumpPlugin;
|
||||
@Inject OpenHumansUploader openHumansUploader;
|
||||
@Inject ActivePluginProvider activePlugin;
|
||||
@Inject ActivePlugin activePlugin;
|
||||
@Inject NSUpload nsUpload;
|
||||
@Inject DateUtil dateUtil;
|
||||
|
||||
|
@ -795,7 +795,7 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper {
|
|||
}
|
||||
}
|
||||
// look for already added percentage from NS
|
||||
profileSwitch.profileName = PercentageSplitter.pureName(profileSwitch.profileName);
|
||||
profileSwitch.profileName = PercentageSplitter.INSTANCE.pureName(profileSwitch.profileName);
|
||||
getDaoProfileSwitch().create(profileSwitch);
|
||||
aapsLogger.debug(LTag.DATABASE, "PROFILESWITCH: New record from: " + Source.getString(profileSwitch.source) + " " + profileSwitch.toString());
|
||||
openHumansUploader.enqueueProfileSwitch(profileSwitch);
|
||||
|
@ -873,8 +873,8 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper {
|
|||
if (trJson.has("profileJson"))
|
||||
profileSwitch.profileJson = trJson.getString("profileJson");
|
||||
else {
|
||||
ProfileInterface profileInterface = activePlugin.getActiveProfileInterface();
|
||||
ProfileStore store = profileInterface.getProfile();
|
||||
ProfileSource profileSource = activePlugin.getActiveProfileSource();
|
||||
ProfileStore store = profileSource.getProfile();
|
||||
if (store != null) {
|
||||
Profile profile = store.getSpecificProfile(profileSwitch.profileName);
|
||||
if (profile != null) {
|
||||
|
|
|
@ -6,7 +6,7 @@ import dagger.Lazy
|
|||
import dagger.Module
|
||||
import dagger.Provides
|
||||
import dagger.android.HasAndroidInjector
|
||||
import info.nightscout.androidaps.Config
|
||||
import info.nightscout.androidaps.interfaces.Config
|
||||
import info.nightscout.androidaps.MainApp
|
||||
import info.nightscout.androidaps.db.DatabaseHelperProvider
|
||||
import info.nightscout.androidaps.interfaces.*
|
||||
|
@ -15,7 +15,7 @@ import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin
|
|||
import info.nightscout.androidaps.plugins.bus.RxBusWrapper
|
||||
import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin
|
||||
import info.nightscout.androidaps.plugins.configBuilder.PluginStore
|
||||
import info.nightscout.androidaps.plugins.general.maintenance.ImportExportPrefs
|
||||
import info.nightscout.androidaps.plugins.general.maintenance.ImportExportPrefsImpl
|
||||
import info.nightscout.androidaps.plugins.general.nsclient.DataSyncSelectorImplementation
|
||||
import info.nightscout.androidaps.plugins.general.nsclient.UploadQueue
|
||||
import info.nightscout.androidaps.plugins.general.smsCommunicator.SmsCommunicatorPlugin
|
||||
|
@ -23,8 +23,9 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorP
|
|||
import info.nightscout.androidaps.plugins.pump.PumpSyncImplementation
|
||||
import info.nightscout.androidaps.plugins.treatments.TreatmentsPlugin
|
||||
import info.nightscout.androidaps.queue.CommandQueue
|
||||
import info.nightscout.androidaps.utils.androidNotification.NotificationHolder
|
||||
import info.nightscout.androidaps.utils.resources.IconsProvider
|
||||
import info.nightscout.androidaps.utils.androidNotification.NotificationHolderImpl
|
||||
import info.nightscout.androidaps.utils.buildHelper.ConfigImpl
|
||||
import info.nightscout.androidaps.utils.resources.IconsProviderImplementation
|
||||
import info.nightscout.androidaps.utils.rx.AapsSchedulers
|
||||
import info.nightscout.androidaps.utils.rx.DefaultAapsSchedulers
|
||||
import info.nightscout.androidaps.utils.sharedPreferences.SP
|
||||
|
@ -38,16 +39,16 @@ import javax.inject.Singleton
|
|||
open class AppModule {
|
||||
|
||||
@Provides
|
||||
fun providesPlugins(configInterface: ConfigInterface,
|
||||
fun providesPlugins(config: Config,
|
||||
@PluginsModule.AllConfigs allConfigs: Map<@JvmSuppressWildcards Int, @JvmSuppressWildcards PluginBase>,
|
||||
@PluginsModule.PumpDriver pumpDrivers: Lazy<Map<@JvmSuppressWildcards Int, @JvmSuppressWildcards PluginBase>>,
|
||||
@PluginsModule.NotNSClient notNsClient: Lazy<Map<@JvmSuppressWildcards Int, @JvmSuppressWildcards PluginBase>>,
|
||||
@PluginsModule.APS aps: Lazy<Map<@JvmSuppressWildcards Int, @JvmSuppressWildcards PluginBase>>)
|
||||
: List<@JvmSuppressWildcards PluginBase> {
|
||||
val plugins = allConfigs.toMutableMap()
|
||||
if (configInterface.PUMPDRIVERS) plugins += pumpDrivers.get()
|
||||
if (configInterface.APS) plugins += aps.get()
|
||||
if (!configInterface.NSCLIENT) plugins += notNsClient.get()
|
||||
if (config.PUMPDRIVERS) plugins += pumpDrivers.get()
|
||||
if (config.APS) plugins += aps.get()
|
||||
if (!config.NSCLIENT) plugins += notNsClient.get()
|
||||
return plugins.toList().sortedBy { it.first }.map { it.second }
|
||||
}
|
||||
|
||||
|
@ -75,18 +76,18 @@ open class AppModule {
|
|||
interface AppBindings {
|
||||
@Binds fun bindContext(mainApp: MainApp): Context
|
||||
@Binds fun bindInjector(mainApp: MainApp): HasAndroidInjector
|
||||
@Binds fun bindActivePluginProvider(pluginStore: PluginStore): ActivePluginProvider
|
||||
@Binds fun bindActivePluginProvider(pluginStore: PluginStore): ActivePlugin
|
||||
@Binds fun bindCommandQueueProvider(commandQueue: CommandQueue): CommandQueueProvider
|
||||
@Binds fun bindConfigInterface(config: Config): ConfigInterface
|
||||
@Binds fun bindConfigBuilderInterface(configBuilderPlugin: ConfigBuilderPlugin): ConfigBuilderInterface
|
||||
@Binds fun bindConfigInterface(config: ConfigImpl): Config
|
||||
@Binds fun bindConfigBuilderInterface(configBuilderPlugin: ConfigBuilderPlugin): ConfigBuilder
|
||||
@Binds fun bindTreatmentsInterface(treatmentsPlugin: TreatmentsPlugin): TreatmentsInterface
|
||||
@Binds fun bindDatabaseHelperInterface(databaseHelperProvider: DatabaseHelperProvider): DatabaseHelperInterface
|
||||
@Binds fun bindNotificationHolderInterface(notificationHolder: NotificationHolder): NotificationHolderInterface
|
||||
@Binds fun bindImportExportPrefsInterface(importExportPrefs: ImportExportPrefs): ImportExportPrefsInterface
|
||||
@Binds fun bindIconsProviderInterface(iconsProvider: IconsProvider): IconsProviderInterface
|
||||
@Binds fun bindNotificationHolderInterface(notificationHolder: NotificationHolderImpl): NotificationHolder
|
||||
@Binds fun bindImportExportPrefsInterface(importExportPrefs: ImportExportPrefsImpl): ImportExportPrefs
|
||||
@Binds fun bindIconsProviderInterface(iconsProvider: IconsProviderImplementation): IconsProvider
|
||||
@Binds fun bindLoopInterface(loopPlugin: LoopPlugin): LoopInterface
|
||||
@Binds fun bindIobCobCalculatorInterface(iobCobCalculatorPlugin: IobCobCalculatorPlugin): IobCobCalculator
|
||||
@Binds fun bindSmsCommunicatorInterface(smsCommunicatorPlugin: SmsCommunicatorPlugin): SmsCommunicatorInterface
|
||||
@Binds fun bindSmsCommunicatorInterface(smsCommunicatorPlugin: SmsCommunicatorPlugin): SmsCommunicator
|
||||
@Binds fun bindUploadQueueAdminInterfaceToUploadQueue(uploadQueueAdminInterface: UploadQueueAdminInterface) : UploadQueueInterface
|
||||
@Binds fun bindDataSyncSelector(dataSyncSelectorImplementation: DataSyncSelectorImplementation): DataSyncSelector
|
||||
@Binds fun bindPumpSync(pumpSyncImplementation: PumpSyncImplementation): PumpSync
|
||||
|
|
|
@ -3,9 +3,11 @@ package info.nightscout.androidaps.dependencyInjection
|
|||
import dagger.Module
|
||||
import dagger.android.ContributesAndroidInjector
|
||||
import info.nightscout.androidaps.plugins.general.food.FoodPlugin
|
||||
import info.nightscout.androidaps.plugins.general.nsclient.NSClientAddAckWorker
|
||||
import info.nightscout.androidaps.plugins.general.nsclient.NSClientAddUpdateWorker
|
||||
import info.nightscout.androidaps.plugins.general.nsclient.NSClientMbgWorker
|
||||
import info.nightscout.androidaps.plugins.general.nsclient.NSClientRemoveWorker
|
||||
import info.nightscout.androidaps.plugins.general.nsclient.NSClientUpdateRemoveAckWorker
|
||||
import info.nightscout.androidaps.plugins.general.smsCommunicator.SmsCommunicatorPlugin
|
||||
import info.nightscout.androidaps.plugins.profile.ns.NSProfilePlugin
|
||||
import info.nightscout.androidaps.plugins.source.*
|
||||
|
@ -25,6 +27,8 @@ abstract class WorkersModule {
|
|||
@ContributesAndroidInjector abstract fun contributesNSProfileWorker(): NSProfilePlugin.NSProfileWorker
|
||||
@ContributesAndroidInjector abstract fun contributesSmsCommunicatorWorker(): SmsCommunicatorPlugin.SmsCommunicatorWorker
|
||||
@ContributesAndroidInjector abstract fun contributesNSClientWorker(): NSClientAddUpdateWorker
|
||||
@ContributesAndroidInjector abstract fun contributesNSClientAddAckWorker(): NSClientAddAckWorker
|
||||
@ContributesAndroidInjector abstract fun contributesNSClientUpdateRemoveAckWorker(): NSClientUpdateRemoveAckWorker
|
||||
@ContributesAndroidInjector abstract fun contributesNSClientRemoveWorker(): NSClientRemoveWorker
|
||||
@ContributesAndroidInjector abstract fun contributesNSClientMbgWorker(): NSClientMbgWorker
|
||||
@ContributesAndroidInjector abstract fun contributesFoodWorker(): FoodPlugin.FoodWorker
|
||||
|
|
|
@ -12,7 +12,7 @@ import info.nightscout.androidaps.database.entities.ValueWithUnit
|
|||
import info.nightscout.androidaps.database.entities.UserEntry.Action
|
||||
import info.nightscout.androidaps.database.entities.UserEntry.Sources
|
||||
import info.nightscout.androidaps.databinding.DialogExtendedbolusBinding
|
||||
import info.nightscout.androidaps.interfaces.ActivePluginProvider
|
||||
import info.nightscout.androidaps.interfaces.ActivePlugin
|
||||
import info.nightscout.androidaps.interfaces.CommandQueueProvider
|
||||
import info.nightscout.androidaps.interfaces.Constraint
|
||||
import info.nightscout.androidaps.logging.UserEntryLogger
|
||||
|
@ -34,7 +34,7 @@ class ExtendedBolusDialog : DialogFragmentWithDate() {
|
|||
@Inject lateinit var resourceHelper: ResourceHelper
|
||||
@Inject lateinit var constraintChecker: ConstraintChecker
|
||||
@Inject lateinit var commandQueue: CommandQueueProvider
|
||||
@Inject lateinit var activePlugin: ActivePluginProvider
|
||||
@Inject lateinit var activePlugin: ActivePlugin
|
||||
@Inject lateinit var uel: UserEntryLogger
|
||||
|
||||
private var _binding: DialogExtendedbolusBinding? = null
|
||||
|
|
|
@ -16,7 +16,7 @@ import info.nightscout.androidaps.database.entities.UserEntry.Action
|
|||
import info.nightscout.androidaps.database.entities.UserEntry.Sources
|
||||
import info.nightscout.androidaps.database.transactions.InsertIfNewByTimestampTherapyEventTransaction
|
||||
import info.nightscout.androidaps.databinding.DialogFillBinding
|
||||
import info.nightscout.androidaps.interfaces.ActivePluginProvider
|
||||
import info.nightscout.androidaps.interfaces.ActivePlugin
|
||||
import info.nightscout.androidaps.interfaces.CommandQueueProvider
|
||||
import info.nightscout.androidaps.interfaces.Constraint
|
||||
import info.nightscout.androidaps.logging.LTag
|
||||
|
@ -41,7 +41,7 @@ class FillDialog : DialogFragmentWithDate() {
|
|||
@Inject lateinit var resourceHelper: ResourceHelper
|
||||
@Inject lateinit var ctx: Context
|
||||
@Inject lateinit var commandQueue: CommandQueueProvider
|
||||
@Inject lateinit var activePlugin: ActivePluginProvider
|
||||
@Inject lateinit var activePlugin: ActivePlugin
|
||||
@Inject lateinit var uel: UserEntryLogger
|
||||
@Inject lateinit var repository: AppRepository
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ import android.view.LayoutInflater
|
|||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import com.google.common.base.Joiner
|
||||
import info.nightscout.androidaps.Config
|
||||
import info.nightscout.androidaps.interfaces.Config
|
||||
import info.nightscout.androidaps.Constants
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.activities.ErrorHelperActivity
|
||||
|
@ -21,7 +21,7 @@ import info.nightscout.androidaps.database.entities.UserEntry.Action
|
|||
import info.nightscout.androidaps.database.entities.UserEntry.Sources
|
||||
import info.nightscout.androidaps.database.transactions.InsertTemporaryTargetAndCancelCurrentTransaction
|
||||
import info.nightscout.androidaps.databinding.DialogInsulinBinding
|
||||
import info.nightscout.androidaps.interfaces.ActivePluginProvider
|
||||
import info.nightscout.androidaps.interfaces.ActivePlugin
|
||||
import info.nightscout.androidaps.interfaces.CommandQueueProvider
|
||||
import info.nightscout.androidaps.interfaces.Constraint
|
||||
import info.nightscout.androidaps.interfaces.ProfileFunction
|
||||
|
@ -51,7 +51,7 @@ class InsulinDialog : DialogFragmentWithDate() {
|
|||
@Inject lateinit var defaultValueHelper: DefaultValueHelper
|
||||
@Inject lateinit var profileFunction: ProfileFunction
|
||||
@Inject lateinit var commandQueue: CommandQueueProvider
|
||||
@Inject lateinit var activePlugin: ActivePluginProvider
|
||||
@Inject lateinit var activePlugin: ActivePlugin
|
||||
@Inject lateinit var ctx: Context
|
||||
@Inject lateinit var repository: AppRepository
|
||||
@Inject lateinit var config: Config
|
||||
|
|
|
@ -23,7 +23,6 @@ import info.nightscout.androidaps.logging.AAPSLogger
|
|||
import info.nightscout.androidaps.logging.UserEntryLogger
|
||||
import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin
|
||||
import info.nightscout.androidaps.plugins.bus.RxBusWrapper
|
||||
import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin
|
||||
import info.nightscout.androidaps.plugins.configBuilder.ConstraintChecker
|
||||
import info.nightscout.androidaps.queue.Callback
|
||||
import info.nightscout.androidaps.utils.FabricPrivacy
|
||||
|
@ -44,10 +43,10 @@ class LoopDialog : DaggerDialogFragment() {
|
|||
@Inject lateinit var resourceHelper: ResourceHelper
|
||||
@Inject lateinit var profileFunction: ProfileFunction
|
||||
@Inject lateinit var loopPlugin: LoopPlugin
|
||||
@Inject lateinit var activePlugin: ActivePluginProvider
|
||||
@Inject lateinit var activePlugin: ActivePlugin
|
||||
@Inject lateinit var constraintChecker: ConstraintChecker
|
||||
@Inject lateinit var commandQueue: CommandQueueProvider
|
||||
@Inject lateinit var configBuilderPlugin: ConfigBuilderPlugin
|
||||
@Inject lateinit var configBuilder: ConfigBuilder
|
||||
@Inject lateinit var uel: UserEntryLogger
|
||||
|
||||
private var showOkCancel: Boolean = true
|
||||
|
@ -199,7 +198,7 @@ class LoopDialog : DaggerDialogFragment() {
|
|||
}
|
||||
}
|
||||
val profile = profileFunction.getProfile()
|
||||
val profileStore = activePlugin.activeProfileInterface.profile
|
||||
val profileStore = activePlugin.activeProfileSource.profile
|
||||
|
||||
if (profile == null || profileStore == null) {
|
||||
ToastUtils.showToastInUiThread(ctx, resourceHelper.gs(R.string.noprofile))
|
||||
|
@ -265,7 +264,7 @@ class LoopDialog : DaggerDialogFragment() {
|
|||
uel.log(Action.LOOP_DISABLED, Sources.LoopDialog)
|
||||
loopPlugin.setPluginEnabled(PluginType.LOOP, false)
|
||||
loopPlugin.setFragmentVisible(PluginType.LOOP, false)
|
||||
configBuilderPlugin.storeSettings("DisablingLoop")
|
||||
configBuilder.storeSettings("DisablingLoop")
|
||||
rxBus.send(EventRefreshOverview("suspendmenu"))
|
||||
commandQueue.cancelTempBasal(true, object : Callback() {
|
||||
override fun run() {
|
||||
|
@ -282,7 +281,7 @@ class LoopDialog : DaggerDialogFragment() {
|
|||
uel.log(Action.LOOP_ENABLED, Sources.LoopDialog)
|
||||
loopPlugin.setPluginEnabled(PluginType.LOOP, true)
|
||||
loopPlugin.setFragmentVisible(PluginType.LOOP, true)
|
||||
configBuilderPlugin.storeSettings("EnablingLoop")
|
||||
configBuilder.storeSettings("EnablingLoop")
|
||||
rxBus.send(EventRefreshOverview("suspendmenu"))
|
||||
loopPlugin.createOfflineEvent(0)
|
||||
return true
|
||||
|
|
|
@ -12,7 +12,7 @@ import info.nightscout.androidaps.database.entities.ValueWithUnit
|
|||
import info.nightscout.androidaps.database.entities.UserEntry.Action
|
||||
import info.nightscout.androidaps.database.entities.UserEntry.Sources
|
||||
import info.nightscout.androidaps.databinding.DialogProfileswitchBinding
|
||||
import info.nightscout.androidaps.interfaces.ActivePluginProvider
|
||||
import info.nightscout.androidaps.interfaces.ActivePlugin
|
||||
import info.nightscout.androidaps.interfaces.ProfileFunction
|
||||
import info.nightscout.androidaps.logging.UserEntryLogger
|
||||
import info.nightscout.androidaps.plugins.treatments.TreatmentsPlugin
|
||||
|
@ -28,7 +28,7 @@ class ProfileSwitchDialog : DialogFragmentWithDate() {
|
|||
@Inject lateinit var resourceHelper: ResourceHelper
|
||||
@Inject lateinit var profileFunction: ProfileFunction
|
||||
@Inject lateinit var treatmentsPlugin: TreatmentsPlugin
|
||||
@Inject lateinit var activePlugin: ActivePluginProvider
|
||||
@Inject lateinit var activePlugin: ActivePlugin
|
||||
@Inject lateinit var uel: UserEntryLogger
|
||||
|
||||
private var profileIndex: Int? = null
|
||||
|
@ -68,7 +68,7 @@ class ProfileSwitchDialog : DialogFragmentWithDate() {
|
|||
|
||||
// profile
|
||||
context?.let { context ->
|
||||
val profileStore = activePlugin.activeProfileInterface.profile
|
||||
val profileStore = activePlugin.activeProfileSource.profile
|
||||
?: return
|
||||
val profileList = profileStore.getProfileList()
|
||||
val adapter = ArrayAdapter(context, R.layout.spinner_centered, profileList)
|
||||
|
@ -103,7 +103,7 @@ class ProfileSwitchDialog : DialogFragmentWithDate() {
|
|||
|
||||
override fun submit(): Boolean {
|
||||
if (_binding == null) return false
|
||||
val profileStore = activePlugin.activeProfileInterface.profile
|
||||
val profileStore = activePlugin.activeProfileSource.profile
|
||||
?: return false
|
||||
|
||||
val actions: LinkedList<String> = LinkedList()
|
||||
|
|
|
@ -31,7 +31,7 @@ class TempBasalDialog : DialogFragmentWithDate() {
|
|||
@Inject lateinit var constraintChecker: ConstraintChecker
|
||||
@Inject lateinit var resourceHelper: ResourceHelper
|
||||
@Inject lateinit var profileFunction: ProfileFunction
|
||||
@Inject lateinit var activePlugin: ActivePluginProvider
|
||||
@Inject lateinit var activePlugin: ActivePlugin
|
||||
@Inject lateinit var commandQueue: CommandQueueProvider
|
||||
@Inject lateinit var ctx: Context
|
||||
@Inject lateinit var uel: UserEntryLogger
|
||||
|
|
|
@ -8,7 +8,7 @@ import android.view.LayoutInflater
|
|||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import com.google.common.base.Joiner
|
||||
import info.nightscout.androidaps.Config
|
||||
import info.nightscout.androidaps.interfaces.Config
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.activities.ErrorHelperActivity
|
||||
import info.nightscout.androidaps.data.DetailedBolusInfo
|
||||
|
@ -17,7 +17,7 @@ import info.nightscout.androidaps.database.entities.ValueWithUnit
|
|||
import info.nightscout.androidaps.database.entities.UserEntry.Action
|
||||
import info.nightscout.androidaps.database.entities.UserEntry.Sources
|
||||
import info.nightscout.androidaps.databinding.DialogTreatmentBinding
|
||||
import info.nightscout.androidaps.interfaces.ActivePluginProvider
|
||||
import info.nightscout.androidaps.interfaces.ActivePlugin
|
||||
import info.nightscout.androidaps.interfaces.CommandQueueProvider
|
||||
import info.nightscout.androidaps.interfaces.Constraint
|
||||
import info.nightscout.androidaps.logging.LTag
|
||||
|
@ -42,7 +42,7 @@ class TreatmentDialog : DialogFragmentWithDate() {
|
|||
|
||||
@Inject lateinit var constraintChecker: ConstraintChecker
|
||||
@Inject lateinit var resourceHelper: ResourceHelper
|
||||
@Inject lateinit var activePlugin: ActivePluginProvider
|
||||
@Inject lateinit var activePlugin: ActivePlugin
|
||||
@Inject lateinit var commandQueue: CommandQueueProvider
|
||||
@Inject lateinit var ctx: Context
|
||||
@Inject lateinit var config: Config
|
||||
|
|
|
@ -23,7 +23,7 @@ import info.nightscout.androidaps.database.AppRepository
|
|||
import info.nightscout.androidaps.database.ValueWrapper
|
||||
import info.nightscout.androidaps.databinding.DialogWizardBinding
|
||||
import info.nightscout.androidaps.events.EventAutosensCalculationFinished
|
||||
import info.nightscout.androidaps.interfaces.ActivePluginProvider
|
||||
import info.nightscout.androidaps.interfaces.ActivePlugin
|
||||
import info.nightscout.androidaps.interfaces.Constraint
|
||||
import info.nightscout.androidaps.interfaces.IobCobCalculator
|
||||
import info.nightscout.androidaps.interfaces.ProfileFunction
|
||||
|
@ -60,7 +60,7 @@ class WizardDialog : DaggerDialogFragment() {
|
|||
@Inject lateinit var fabricPrivacy: FabricPrivacy
|
||||
@Inject lateinit var resourceHelper: ResourceHelper
|
||||
@Inject lateinit var profileFunction: ProfileFunction
|
||||
@Inject lateinit var activePlugin: ActivePluginProvider
|
||||
@Inject lateinit var activePlugin: ActivePlugin
|
||||
@Inject lateinit var iobCobCalculator: IobCobCalculator
|
||||
@Inject lateinit var repository: AppRepository
|
||||
@Inject lateinit var dateUtil: DateUtil
|
||||
|
@ -244,7 +244,7 @@ class WizardDialog : DaggerDialogFragment() {
|
|||
|
||||
private fun initDialog() {
|
||||
val profile = profileFunction.getProfile()
|
||||
val profileStore = activePlugin.activeProfileInterface.profile
|
||||
val profileStore = activePlugin.activeProfileSource.profile
|
||||
|
||||
if (profile == null || profileStore == null) {
|
||||
ToastUtils.showToastInUiThread(ctx, resourceHelper.gs(R.string.noprofile))
|
||||
|
@ -283,7 +283,7 @@ class WizardDialog : DaggerDialogFragment() {
|
|||
}
|
||||
|
||||
private fun calculateInsulin() {
|
||||
val profileStore = activePlugin.activeProfileInterface.profile
|
||||
val profileStore = activePlugin.activeProfileSource.profile
|
||||
if (binding.profile.selectedItem == null || profileStore == null)
|
||||
return // not initialized yet
|
||||
var profileName = binding.profile.selectedItem.toString()
|
||||
|
|
|
@ -16,7 +16,7 @@ import info.nightscout.androidaps.activities.NoSplashAppCompatActivity
|
|||
import info.nightscout.androidaps.databinding.ActivityHistorybrowseBinding
|
||||
import info.nightscout.androidaps.events.EventCustomCalculationFinished
|
||||
import info.nightscout.androidaps.events.EventRefreshOverview
|
||||
import info.nightscout.androidaps.interfaces.ActivePluginProvider
|
||||
import info.nightscout.androidaps.interfaces.ActivePlugin
|
||||
import info.nightscout.androidaps.interfaces.ProfileFunction
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
import info.nightscout.androidaps.logging.LTag
|
||||
|
@ -51,7 +51,7 @@ class HistoryBrowseActivity : NoSplashAppCompatActivity() {
|
|||
@Inject lateinit var defaultValueHelper: DefaultValueHelper
|
||||
@Inject lateinit var iobCobCalculatorPluginHistory: IobCobCalculatorPluginHistory
|
||||
@Inject lateinit var treatmentsPluginHistory: TreatmentsPluginHistory
|
||||
@Inject lateinit var activePlugin: ActivePluginProvider
|
||||
@Inject lateinit var activePlugin: ActivePlugin
|
||||
@Inject lateinit var buildHelper: BuildHelper
|
||||
@Inject lateinit var fabricPrivacy: FabricPrivacy
|
||||
@Inject lateinit var overviewMenus: OverviewMenus
|
||||
|
|
|
@ -2,7 +2,7 @@ package info.nightscout.androidaps.historyBrowser
|
|||
|
||||
import dagger.android.HasAndroidInjector
|
||||
import info.nightscout.androidaps.database.AppRepository
|
||||
import info.nightscout.androidaps.interfaces.ActivePluginProvider
|
||||
import info.nightscout.androidaps.interfaces.ActivePlugin
|
||||
import info.nightscout.androidaps.interfaces.ProfileFunction
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
import info.nightscout.androidaps.plugins.bus.RxBusWrapper
|
||||
|
@ -27,7 +27,7 @@ class IobCobCalculatorPluginHistory @Inject constructor(
|
|||
sp: SP,
|
||||
resourceHelper: ResourceHelper,
|
||||
profileFunction: ProfileFunction,
|
||||
activePlugin: ActivePluginProvider,
|
||||
activePlugin: ActivePlugin,
|
||||
sensitivityOref1Plugin: SensitivityOref1Plugin,
|
||||
sensitivityAAPSPlugin: SensitivityAAPSPlugin,
|
||||
sensitivityWeightedAveragePlugin: SensitivityWeightedAveragePlugin,
|
||||
|
|
|
@ -3,7 +3,7 @@ package info.nightscout.androidaps.historyBrowser
|
|||
import android.content.Context
|
||||
import dagger.android.HasAndroidInjector
|
||||
import info.nightscout.androidaps.database.AppRepository
|
||||
import info.nightscout.androidaps.interfaces.ActivePluginProvider
|
||||
import info.nightscout.androidaps.interfaces.ActivePlugin
|
||||
import info.nightscout.androidaps.interfaces.DatabaseHelperInterface
|
||||
import info.nightscout.androidaps.interfaces.ProfileFunction
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
|
@ -29,7 +29,7 @@ class TreatmentsPluginHistory @Inject constructor(
|
|||
context: Context,
|
||||
sp: SP,
|
||||
profileFunction: ProfileFunction,
|
||||
activePlugin: ActivePluginProvider,
|
||||
activePlugin: ActivePlugin,
|
||||
nsUpload: NSUpload,
|
||||
fabricPrivacy: FabricPrivacy,
|
||||
dateUtil: DateUtil,
|
||||
|
|
|
@ -76,7 +76,7 @@ open class LoopPlugin @Inject constructor(
|
|||
private val profileFunction: ProfileFunction,
|
||||
private val context: Context,
|
||||
private val commandQueue: CommandQueueProvider,
|
||||
private val activePlugin: ActivePluginProvider,
|
||||
private val activePlugin: ActivePlugin,
|
||||
private val virtualPumpPlugin: VirtualPumpPlugin,
|
||||
private val iobCobCalculator: IobCobCalculator,
|
||||
private val receiverStatusStore: ReceiverStatusStore,
|
||||
|
|
|
@ -35,6 +35,7 @@ class OpenAPSAMAFragment : DaggerFragment() {
|
|||
@Inject lateinit var fabricPrivacy: FabricPrivacy
|
||||
@Inject lateinit var openAPSAMAPlugin: OpenAPSAMAPlugin
|
||||
@Inject lateinit var dateUtil: DateUtil
|
||||
@Inject lateinit var jsonFormatter: JSONFormatter
|
||||
|
||||
private var _binding: OpenapsamaFragmentBinding? = null
|
||||
|
||||
|
@ -92,30 +93,30 @@ class OpenAPSAMAFragment : DaggerFragment() {
|
|||
private fun updateGUI() {
|
||||
if (_binding == null) return
|
||||
openAPSAMAPlugin.lastAPSResult?.let { lastAPSResult ->
|
||||
binding.result.text = JSONFormatter.format(lastAPSResult.json)
|
||||
binding.result.text = jsonFormatter.format(lastAPSResult.json)
|
||||
binding.request.text = lastAPSResult.toSpanned()
|
||||
}
|
||||
openAPSAMAPlugin.lastDetermineBasalAdapterAMAJS?.let { determineBasalAdapterAMAJS ->
|
||||
binding.glucosestatus.text = JSONFormatter.format(determineBasalAdapterAMAJS.glucoseStatusParam)
|
||||
binding.currenttemp.text = JSONFormatter.format(determineBasalAdapterAMAJS.currentTempParam)
|
||||
binding.glucosestatus.text = jsonFormatter.format(determineBasalAdapterAMAJS.glucoseStatusParam)
|
||||
binding.currenttemp.text = jsonFormatter.format(determineBasalAdapterAMAJS.currentTempParam)
|
||||
try {
|
||||
val iobArray = JSONArray(determineBasalAdapterAMAJS.iobDataParam)
|
||||
binding.iobdata.text = TextUtils.concat(resourceHelper.gs(R.string.array_of_elements, iobArray.length()) + "\n", JSONFormatter.format(iobArray.getString(0)))
|
||||
binding.iobdata.text = TextUtils.concat(resourceHelper.gs(R.string.array_of_elements, iobArray.length()) + "\n", jsonFormatter.format(iobArray.getString(0)))
|
||||
} catch (e: JSONException) {
|
||||
aapsLogger.error(LTag.APS, "Unhandled exception", e)
|
||||
@Suppress("SetTextI18n")
|
||||
binding.iobdata.text = "JSONException see log for details"
|
||||
}
|
||||
|
||||
binding.profile.text = JSONFormatter.format(determineBasalAdapterAMAJS.profileParam)
|
||||
binding.mealdata.text = JSONFormatter.format(determineBasalAdapterAMAJS.mealDataParam)
|
||||
binding.profile.text = jsonFormatter.format(determineBasalAdapterAMAJS.profileParam)
|
||||
binding.mealdata.text = jsonFormatter.format(determineBasalAdapterAMAJS.mealDataParam)
|
||||
binding.scriptdebugdata.text = determineBasalAdapterAMAJS.scriptDebug
|
||||
}
|
||||
if (openAPSAMAPlugin.lastAPSRun != 0L) {
|
||||
binding.lastrun.text = dateUtil.dateAndTimeString(openAPSAMAPlugin.lastAPSRun)
|
||||
}
|
||||
openAPSAMAPlugin.lastAutosensResult.let {
|
||||
binding.autosensdata.text = JSONFormatter.format(it.json())
|
||||
binding.autosensdata.text = jsonFormatter.format(it.json())
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ open class OpenAPSAMAPlugin @Inject constructor(
|
|||
resourceHelper: ResourceHelper,
|
||||
private val profileFunction: ProfileFunction,
|
||||
private val context: Context,
|
||||
private val activePlugin: ActivePluginProvider,
|
||||
private val activePlugin: ActivePlugin,
|
||||
private val iobCobCalculator: IobCobCalculator,
|
||||
private val hardLimits: HardLimits,
|
||||
private val profiler: Profiler,
|
||||
|
@ -53,7 +53,7 @@ open class OpenAPSAMAPlugin @Inject constructor(
|
|||
.preferencesId(R.xml.pref_openapsama)
|
||||
.description(R.string.description_ama),
|
||||
aapsLogger, resourceHelper, injector
|
||||
), APSInterface {
|
||||
), APS {
|
||||
|
||||
// last values
|
||||
override var lastAPSRun: Long = 0
|
||||
|
|
|
@ -6,7 +6,7 @@ import info.nightscout.androidaps.R
|
|||
import info.nightscout.androidaps.data.IobTotal
|
||||
import info.nightscout.androidaps.data.MealData
|
||||
import info.nightscout.androidaps.data.Profile
|
||||
import info.nightscout.androidaps.interfaces.ActivePluginProvider
|
||||
import info.nightscout.androidaps.interfaces.ActivePlugin
|
||||
import info.nightscout.androidaps.interfaces.IobCobCalculator
|
||||
import info.nightscout.androidaps.interfaces.ProfileFunction
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
|
@ -16,7 +16,6 @@ import info.nightscout.androidaps.plugins.aps.loop.ScriptReader
|
|||
import info.nightscout.androidaps.plugins.configBuilder.ConstraintChecker
|
||||
import info.nightscout.androidaps.plugins.general.openhumans.OpenHumansUploader
|
||||
import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus
|
||||
import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin
|
||||
import info.nightscout.androidaps.utils.SafeParse
|
||||
import info.nightscout.androidaps.extensions.convertedToAbsolute
|
||||
import info.nightscout.androidaps.extensions.getPassedDurationToTimeInMinutes
|
||||
|
@ -41,7 +40,7 @@ class DetermineBasalAdapterSMBJS internal constructor(private val scriptReader:
|
|||
@Inject lateinit var resourceHelper: ResourceHelper
|
||||
@Inject lateinit var profileFunction: ProfileFunction
|
||||
@Inject lateinit var iobCobCalculator: IobCobCalculator
|
||||
@Inject lateinit var activePluginProvider: ActivePluginProvider
|
||||
@Inject lateinit var activePlugin: ActivePlugin
|
||||
@Inject lateinit var openHumansUploader: OpenHumansUploader
|
||||
|
||||
private var profile = JSONObject()
|
||||
|
@ -176,7 +175,7 @@ class DetermineBasalAdapterSMBJS internal constructor(private val scriptReader:
|
|||
advancedFiltering: Boolean,
|
||||
isSaveCgmSource: Boolean
|
||||
) {
|
||||
val pump = activePluginProvider.activePump
|
||||
val pump = activePlugin.activePump
|
||||
val pumpBolusStep = pump.pumpDescription.bolusStep
|
||||
this.profile.put("max_iob", maxIob)
|
||||
//mProfile.put("dia", profile.getDia());
|
||||
|
|
|
@ -36,6 +36,7 @@ class OpenAPSSMBFragment : DaggerFragment() {
|
|||
@Inject lateinit var fabricPrivacy: FabricPrivacy
|
||||
@Inject lateinit var openAPSSMBPlugin: OpenAPSSMBPlugin
|
||||
@Inject lateinit var dateUtil: DateUtil
|
||||
@Inject lateinit var jsonFormatter: JSONFormatter
|
||||
|
||||
private var _binding: OpenapsamaFragmentBinding? = null
|
||||
|
||||
|
@ -92,23 +93,23 @@ class OpenAPSSMBFragment : DaggerFragment() {
|
|||
fun updateGUI() {
|
||||
if (_binding == null) return
|
||||
openAPSSMBPlugin.lastAPSResult?.let { lastAPSResult ->
|
||||
binding.result.text = JSONFormatter.format(lastAPSResult.json)
|
||||
binding.result.text = jsonFormatter.format(lastAPSResult.json)
|
||||
binding.request.text = lastAPSResult.toSpanned()
|
||||
}
|
||||
openAPSSMBPlugin.lastDetermineBasalAdapterSMBJS?.let { determineBasalAdapterSMBJS ->
|
||||
binding.glucosestatus.text = JSONFormatter.format(determineBasalAdapterSMBJS.glucoseStatusParam)
|
||||
binding.currenttemp.text = JSONFormatter.format(determineBasalAdapterSMBJS.currentTempParam)
|
||||
binding.glucosestatus.text = jsonFormatter.format(determineBasalAdapterSMBJS.glucoseStatusParam)
|
||||
binding.currenttemp.text = jsonFormatter.format(determineBasalAdapterSMBJS.currentTempParam)
|
||||
try {
|
||||
val iobArray = JSONArray(determineBasalAdapterSMBJS.iobDataParam)
|
||||
binding.iobdata.text = TextUtils.concat(resourceHelper.gs(R.string.array_of_elements, iobArray.length()) + "\n", JSONFormatter.format(iobArray.getString(0)))
|
||||
binding.iobdata.text = TextUtils.concat(resourceHelper.gs(R.string.array_of_elements, iobArray.length()) + "\n", jsonFormatter.format(iobArray.getString(0)))
|
||||
} catch (e: JSONException) {
|
||||
aapsLogger.error(LTag.APS, "Unhandled exception", e)
|
||||
@SuppressLint("SetTextI18n")
|
||||
binding.iobdata.text = "JSONException see log for details"
|
||||
}
|
||||
|
||||
binding.profile.text = JSONFormatter.format(determineBasalAdapterSMBJS.profileParam)
|
||||
binding.mealdata.text = JSONFormatter.format(determineBasalAdapterSMBJS.mealDataParam)
|
||||
binding.profile.text = jsonFormatter.format(determineBasalAdapterSMBJS.profileParam)
|
||||
binding.mealdata.text = jsonFormatter.format(determineBasalAdapterSMBJS.mealDataParam)
|
||||
binding.scriptdebugdata.text = determineBasalAdapterSMBJS.scriptDebug
|
||||
openAPSSMBPlugin.lastAPSResult?.inputConstraints?.let {
|
||||
binding.constraints.text = it.getReasons(aapsLogger)
|
||||
|
@ -118,7 +119,7 @@ class OpenAPSSMBFragment : DaggerFragment() {
|
|||
binding.lastrun.text = dateUtil.dateAndTimeString(openAPSSMBPlugin.lastAPSRun)
|
||||
}
|
||||
openAPSSMBPlugin.lastAutosensResult.let {
|
||||
binding.autosensdata.text = JSONFormatter.format(it.json())
|
||||
binding.autosensdata.text = jsonFormatter.format(it.json())
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ open class OpenAPSSMBPlugin @Inject constructor(
|
|||
resourceHelper: ResourceHelper,
|
||||
private val profileFunction: ProfileFunction,
|
||||
private val context: Context,
|
||||
private val activePlugin: ActivePluginProvider,
|
||||
private val activePlugin: ActivePlugin,
|
||||
private val iobCobCalculator: IobCobCalculator,
|
||||
private val hardLimits: HardLimits,
|
||||
private val profiler: Profiler,
|
||||
|
@ -55,7 +55,7 @@ open class OpenAPSSMBPlugin @Inject constructor(
|
|||
.description(R.string.description_smb)
|
||||
.setDefault(),
|
||||
aapsLogger, resourceHelper, injector
|
||||
), APSInterface, ConstraintsInterface {
|
||||
), APS, Constraints {
|
||||
|
||||
// last values
|
||||
override var lastAPSRun: Long = 0
|
||||
|
|
|
@ -9,7 +9,7 @@ import android.widget.*
|
|||
import androidx.annotation.StringRes
|
||||
import androidx.core.content.ContextCompat
|
||||
import dagger.android.support.DaggerFragment
|
||||
import info.nightscout.androidaps.Config
|
||||
import info.nightscout.androidaps.interfaces.Config
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.activities.PreferencesActivity
|
||||
import info.nightscout.androidaps.databinding.ConfigbuilderFragmentBinding
|
||||
|
@ -34,7 +34,7 @@ class ConfigBuilderFragment : DaggerFragment() {
|
|||
@Inject lateinit var resourceHelper: ResourceHelper
|
||||
@Inject lateinit var configBuilderPlugin: ConfigBuilderPlugin
|
||||
@Inject lateinit var fabricPrivacy: FabricPrivacy
|
||||
@Inject lateinit var activePlugin: ActivePluginProvider
|
||||
@Inject lateinit var activePlugin: ActivePlugin
|
||||
@Inject lateinit var protectionCheck: ProtectionCheck
|
||||
@Inject lateinit var config: Config
|
||||
|
||||
|
@ -101,18 +101,18 @@ class ConfigBuilderFragment : DaggerFragment() {
|
|||
private fun updateGUI() {
|
||||
binding.categories.removeAllViews()
|
||||
if (!config.NSCLIENT) {
|
||||
createViewsForPlugins(R.string.configbuilder_profile, R.string.configbuilder_profile_description, PluginType.PROFILE, activePlugin.getSpecificPluginsVisibleInListByInterface(ProfileInterface::class.java, PluginType.PROFILE))
|
||||
createViewsForPlugins(R.string.configbuilder_profile, R.string.configbuilder_profile_description, PluginType.PROFILE, activePlugin.getSpecificPluginsVisibleInList(PluginType.PROFILE))
|
||||
}
|
||||
createViewsForPlugins(R.string.configbuilder_insulin, R.string.configbuilder_insulin_description, PluginType.INSULIN, activePlugin.getSpecificPluginsVisibleInListByInterface(InsulinInterface::class.java, PluginType.INSULIN))
|
||||
createViewsForPlugins(R.string.configbuilder_insulin, R.string.configbuilder_insulin_description, PluginType.INSULIN, activePlugin.getSpecificPluginsVisibleInList(PluginType.INSULIN))
|
||||
if (!config.NSCLIENT) {
|
||||
createViewsForPlugins(R.string.configbuilder_bgsource, R.string.configbuilder_bgsource_description, PluginType.BGSOURCE, activePlugin.getSpecificPluginsVisibleInListByInterface(BgSourceInterface::class.java, PluginType.BGSOURCE))
|
||||
createViewsForPlugins(R.string.configbuilder_bgsource, R.string.configbuilder_bgsource_description, PluginType.BGSOURCE, activePlugin.getSpecificPluginsVisibleInList(PluginType.BGSOURCE))
|
||||
createViewsForPlugins(R.string.configbuilder_pump, R.string.configbuilder_pump_description, PluginType.PUMP, activePlugin.getSpecificPluginsVisibleInList(PluginType.PUMP))
|
||||
}
|
||||
createViewsForPlugins(R.string.configbuilder_sensitivity, R.string.configbuilder_sensitivity_description, PluginType.SENSITIVITY, activePlugin.getSpecificPluginsVisibleInListByInterface(SensitivityInterface::class.java, PluginType.SENSITIVITY))
|
||||
createViewsForPlugins(R.string.configbuilder_sensitivity, R.string.configbuilder_sensitivity_description, PluginType.SENSITIVITY, activePlugin.getSpecificPluginsVisibleInList(PluginType.SENSITIVITY))
|
||||
if (config.APS) {
|
||||
createViewsForPlugins(R.string.configbuilder_aps, R.string.configbuilder_aps_description, PluginType.APS, activePlugin.getSpecificPluginsVisibleInList(PluginType.APS))
|
||||
createViewsForPlugins(R.string.configbuilder_loop, R.string.configbuilder_loop_description, PluginType.LOOP, activePlugin.getSpecificPluginsVisibleInList(PluginType.LOOP))
|
||||
createViewsForPlugins(R.string.constraints, R.string.configbuilder_constraints_description, PluginType.CONSTRAINTS, activePlugin.getSpecificPluginsVisibleInListByInterface(ConstraintsInterface::class.java, PluginType.CONSTRAINTS))
|
||||
createViewsForPlugins(R.string.constraints, R.string.configbuilder_constraints_description, PluginType.CONSTRAINTS, activePlugin.getSpecificPluginsVisibleInList(PluginType.CONSTRAINTS))
|
||||
}
|
||||
createViewsForPlugins(R.string.configbuilder_treatments, R.string.configbuilder_treatments_description, PluginType.TREATMENT, activePlugin.getSpecificPluginsVisibleInList(PluginType.TREATMENT))
|
||||
createViewsForPlugins(R.string.configbuilder_general, R.string.configbuilder_general_description, PluginType.GENERAL, activePlugin.getSpecificPluginsVisibleInList(PluginType.GENERAL))
|
||||
|
|
|
@ -29,7 +29,7 @@ class ConfigBuilderPlugin @Inject constructor(
|
|||
resourceHelper: ResourceHelper,
|
||||
private val sp: SP,
|
||||
private val rxBus: RxBusWrapper,
|
||||
private val activePlugin: ActivePluginProvider,
|
||||
private val activePlugin: ActivePlugin,
|
||||
private val uel: UserEntryLogger,
|
||||
private val pumpSync: PumpSync
|
||||
) : PluginBase(PluginDescription()
|
||||
|
@ -43,9 +43,9 @@ class ConfigBuilderPlugin @Inject constructor(
|
|||
.shortName(R.string.configbuilder_shortname)
|
||||
.description(R.string.description_config_builder),
|
||||
aapsLogger, resourceHelper, injector
|
||||
), ConfigBuilderInterface {
|
||||
), ConfigBuilder {
|
||||
|
||||
fun initialize() {
|
||||
override fun initialize() {
|
||||
(activePlugin as PluginStore).loadDefaults()
|
||||
loadSettings()
|
||||
setAlwaysEnabledPluginsEnabled()
|
||||
|
@ -69,7 +69,7 @@ class ConfigBuilderPlugin @Inject constructor(
|
|||
if (p.pluginDescription.alwaysEnabled && p.pluginDescription.neverVisible) continue
|
||||
savePref(p, type, true)
|
||||
if (type == PluginType.PUMP) {
|
||||
if (p is ProfileInterface) { // Store state of optional Profile interface
|
||||
if (p is ProfileSource) { // Store state of optional Profile interface
|
||||
savePref(p, PluginType.PROFILE, false)
|
||||
}
|
||||
}
|
||||
|
@ -93,7 +93,7 @@ class ConfigBuilderPlugin @Inject constructor(
|
|||
val type = p.getType()
|
||||
loadPref(p, type, true)
|
||||
if (p.getType() == PluginType.PUMP) {
|
||||
if (p is ProfileInterface) {
|
||||
if (p is ProfileSource) {
|
||||
loadPref(p, PluginType.PROFILE, false)
|
||||
}
|
||||
}
|
||||
|
@ -180,13 +180,13 @@ class ConfigBuilderPlugin @Inject constructor(
|
|||
fun processOnEnabledCategoryChanged(changedPlugin: PluginBase, type: PluginType?) {
|
||||
var pluginsInCategory: ArrayList<PluginBase>? = null
|
||||
when (type) {
|
||||
PluginType.INSULIN -> pluginsInCategory = activePlugin.getSpecificPluginsListByInterface(InsulinInterface::class.java)
|
||||
PluginType.SENSITIVITY -> pluginsInCategory = activePlugin.getSpecificPluginsListByInterface(SensitivityInterface::class.java)
|
||||
PluginType.APS -> pluginsInCategory = activePlugin.getSpecificPluginsListByInterface(APSInterface::class.java)
|
||||
PluginType.PROFILE -> pluginsInCategory = activePlugin.getSpecificPluginsListByInterface(ProfileInterface::class.java)
|
||||
PluginType.BGSOURCE -> pluginsInCategory = activePlugin.getSpecificPluginsListByInterface(BgSourceInterface::class.java)
|
||||
PluginType.INSULIN -> pluginsInCategory = activePlugin.getSpecificPluginsListByInterface(Insulin::class.java)
|
||||
PluginType.SENSITIVITY -> pluginsInCategory = activePlugin.getSpecificPluginsListByInterface(Sensitivity::class.java)
|
||||
PluginType.APS -> pluginsInCategory = activePlugin.getSpecificPluginsListByInterface(APS::class.java)
|
||||
PluginType.PROFILE -> pluginsInCategory = activePlugin.getSpecificPluginsListByInterface(ProfileSource::class.java)
|
||||
PluginType.BGSOURCE -> pluginsInCategory = activePlugin.getSpecificPluginsListByInterface(BgSource::class.java)
|
||||
PluginType.TREATMENT -> pluginsInCategory = activePlugin.getSpecificPluginsListByInterface(TreatmentsInterface::class.java)
|
||||
PluginType.PUMP -> pluginsInCategory = activePlugin.getSpecificPluginsListByInterface(PumpInterface::class.java)
|
||||
PluginType.PUMP -> pluginsInCategory = activePlugin.getSpecificPluginsListByInterface(Pump::class.java)
|
||||
|
||||
else -> {
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package info.nightscout.androidaps.plugins.configBuilder
|
||||
|
||||
import info.nightscout.androidaps.Config
|
||||
import info.nightscout.androidaps.interfaces.Config
|
||||
import info.nightscout.androidaps.interfaces.*
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
import info.nightscout.androidaps.logging.LTag
|
||||
|
@ -11,23 +11,23 @@ import javax.inject.Singleton
|
|||
class PluginStore @Inject constructor(
|
||||
private val aapsLogger: AAPSLogger,
|
||||
private val config: Config
|
||||
) : ActivePluginProvider {
|
||||
) : ActivePlugin {
|
||||
|
||||
lateinit var plugins: List<@JvmSuppressWildcards PluginBase>
|
||||
|
||||
private var activeBgSourceStore: BgSourceInterface? = null
|
||||
private var activePumpStore: PumpInterface? = null
|
||||
private var activeProfile: ProfileInterface? = null
|
||||
private var activeAPSStore: APSInterface? = null
|
||||
private var activeInsulinStore: InsulinInterface? = null
|
||||
private var activeSensitivityStore: SensitivityInterface? = null
|
||||
private var activeBgSourceStore: BgSource? = null
|
||||
private var activePumpStore: Pump? = null
|
||||
private var activeProfile: ProfileSource? = null
|
||||
private var activeAPSStore: APS? = null
|
||||
private var activeInsulinStore: Insulin? = null
|
||||
private var activeSensitivityStore: Sensitivity? = null
|
||||
private var activeTreatmentsStore: TreatmentsInterface? = null
|
||||
|
||||
fun loadDefaults() {
|
||||
verifySelectionInCategories()
|
||||
}
|
||||
|
||||
fun getDefaultPlugin(type: PluginType): PluginBase {
|
||||
private fun getDefaultPlugin(type: PluginType): PluginBase {
|
||||
for (p in plugins)
|
||||
if (p.getType() == type && p.isDefault()) return p
|
||||
throw IllegalStateException("Default plugin not found")
|
||||
|
@ -41,14 +41,6 @@ class PluginStore @Inject constructor(
|
|||
return newList
|
||||
}
|
||||
|
||||
override fun getSpecificPluginsVisibleInList(type: PluginType): ArrayList<PluginBase> {
|
||||
val newList = ArrayList<PluginBase>()
|
||||
for (p in plugins) {
|
||||
if (p.getType() == type) if (p.showInList(type)) newList.add(p)
|
||||
}
|
||||
return newList
|
||||
}
|
||||
|
||||
override fun getSpecificPluginsListByInterface(interfaceClass: Class<*>): ArrayList<PluginBase> {
|
||||
val newList = ArrayList<PluginBase>()
|
||||
for (p in plugins) {
|
||||
|
@ -57,10 +49,10 @@ class PluginStore @Inject constructor(
|
|||
return newList
|
||||
}
|
||||
|
||||
override fun getSpecificPluginsVisibleInListByInterface(interfaceClass: Class<*>, type: PluginType): ArrayList<PluginBase> {
|
||||
override fun getSpecificPluginsVisibleInList(type: PluginType): ArrayList<PluginBase> {
|
||||
val newList = ArrayList<PluginBase>()
|
||||
for (p in plugins) {
|
||||
if (p.javaClass != ConfigBuilderPlugin::class.java && interfaceClass.isAssignableFrom(p.javaClass)) if (p.showInList(type)) newList.add(p)
|
||||
if (p.getType() == type) if (p.showInList(type)) newList.add(p)
|
||||
}
|
||||
return newList
|
||||
}
|
||||
|
@ -71,64 +63,64 @@ class PluginStore @Inject constructor(
|
|||
// PluginType.APS
|
||||
if (!config.NSCLIENT && !config.PUMPCONTROL) {
|
||||
pluginsInCategory = getSpecificPluginsList(PluginType.APS)
|
||||
activeAPSStore = getTheOneEnabledInArray(pluginsInCategory, PluginType.APS) as APSInterface?
|
||||
activeAPSStore = getTheOneEnabledInArray(pluginsInCategory, PluginType.APS) as APS?
|
||||
if (activeAPSStore == null) {
|
||||
activeAPSStore = getDefaultPlugin(PluginType.APS) as APSInterface
|
||||
activeAPSStore = getDefaultPlugin(PluginType.APS) as APS
|
||||
(activeAPSStore as PluginBase).setPluginEnabled(PluginType.APS, true)
|
||||
aapsLogger.debug(LTag.CONFIGBUILDER, "Defaulting APSInterface")
|
||||
}
|
||||
setFragmentVisiblities((activeAPSStore as PluginBase).name, pluginsInCategory, PluginType.APS)
|
||||
setFragmentVisibilities((activeAPSStore as PluginBase).name, pluginsInCategory, PluginType.APS)
|
||||
}
|
||||
|
||||
// PluginType.INSULIN
|
||||
pluginsInCategory = getSpecificPluginsList(PluginType.INSULIN)
|
||||
activeInsulinStore = getTheOneEnabledInArray(pluginsInCategory, PluginType.INSULIN) as InsulinInterface?
|
||||
activeInsulinStore = getTheOneEnabledInArray(pluginsInCategory, PluginType.INSULIN) as Insulin?
|
||||
if (activeInsulinStore == null) {
|
||||
activeInsulinStore = getDefaultPlugin(PluginType.INSULIN) as InsulinInterface
|
||||
activeInsulinStore = getDefaultPlugin(PluginType.INSULIN) as Insulin
|
||||
(activeInsulinStore as PluginBase).setPluginEnabled(PluginType.INSULIN, true)
|
||||
aapsLogger.debug(LTag.CONFIGBUILDER, "Defaulting InsulinInterface")
|
||||
}
|
||||
setFragmentVisiblities((activeInsulinStore as PluginBase).name, pluginsInCategory, PluginType.INSULIN)
|
||||
setFragmentVisibilities((activeInsulinStore as PluginBase).name, pluginsInCategory, PluginType.INSULIN)
|
||||
|
||||
// PluginType.SENSITIVITY
|
||||
pluginsInCategory = getSpecificPluginsList(PluginType.SENSITIVITY)
|
||||
activeSensitivityStore = getTheOneEnabledInArray(pluginsInCategory, PluginType.SENSITIVITY) as SensitivityInterface?
|
||||
activeSensitivityStore = getTheOneEnabledInArray(pluginsInCategory, PluginType.SENSITIVITY) as Sensitivity?
|
||||
if (activeSensitivityStore == null) {
|
||||
activeSensitivityStore = getDefaultPlugin(PluginType.SENSITIVITY) as SensitivityInterface
|
||||
activeSensitivityStore = getDefaultPlugin(PluginType.SENSITIVITY) as Sensitivity
|
||||
(activeSensitivityStore as PluginBase).setPluginEnabled(PluginType.SENSITIVITY, true)
|
||||
aapsLogger.debug(LTag.CONFIGBUILDER, "Defaulting SensitivityInterface")
|
||||
}
|
||||
setFragmentVisiblities((activeSensitivityStore as PluginBase).name, pluginsInCategory, PluginType.SENSITIVITY)
|
||||
setFragmentVisibilities((activeSensitivityStore as PluginBase).name, pluginsInCategory, PluginType.SENSITIVITY)
|
||||
|
||||
// PluginType.PROFILE
|
||||
pluginsInCategory = getSpecificPluginsList(PluginType.PROFILE)
|
||||
activeProfile = getTheOneEnabledInArray(pluginsInCategory, PluginType.PROFILE) as ProfileInterface?
|
||||
activeProfile = getTheOneEnabledInArray(pluginsInCategory, PluginType.PROFILE) as ProfileSource?
|
||||
if (activeProfile == null) {
|
||||
activeProfile = getDefaultPlugin(PluginType.PROFILE) as ProfileInterface
|
||||
activeProfile = getDefaultPlugin(PluginType.PROFILE) as ProfileSource
|
||||
(activeProfile as PluginBase).setPluginEnabled(PluginType.PROFILE, true)
|
||||
aapsLogger.debug(LTag.CONFIGBUILDER, "Defaulting ProfileInterface")
|
||||
}
|
||||
setFragmentVisiblities((activeProfile as PluginBase).name, pluginsInCategory, PluginType.PROFILE)
|
||||
setFragmentVisibilities((activeProfile as PluginBase).name, pluginsInCategory, PluginType.PROFILE)
|
||||
|
||||
// PluginType.BGSOURCE
|
||||
pluginsInCategory = getSpecificPluginsList(PluginType.BGSOURCE)
|
||||
activeBgSourceStore = getTheOneEnabledInArray(pluginsInCategory, PluginType.BGSOURCE) as BgSourceInterface?
|
||||
activeBgSourceStore = getTheOneEnabledInArray(pluginsInCategory, PluginType.BGSOURCE) as BgSource?
|
||||
if (activeBgSourceStore == null) {
|
||||
activeBgSourceStore = getDefaultPlugin(PluginType.BGSOURCE) as BgSourceInterface
|
||||
activeBgSourceStore = getDefaultPlugin(PluginType.BGSOURCE) as BgSource
|
||||
(activeBgSourceStore as PluginBase).setPluginEnabled(PluginType.BGSOURCE, true)
|
||||
aapsLogger.debug(LTag.CONFIGBUILDER, "Defaulting BgInterface")
|
||||
}
|
||||
setFragmentVisiblities((activeBgSourceStore as PluginBase).name, pluginsInCategory, PluginType.PUMP)
|
||||
setFragmentVisibilities((activeBgSourceStore as PluginBase).name, pluginsInCategory, PluginType.PUMP)
|
||||
|
||||
// PluginType.PUMP
|
||||
pluginsInCategory = getSpecificPluginsList(PluginType.PUMP)
|
||||
activePumpStore = getTheOneEnabledInArray(pluginsInCategory, PluginType.PUMP) as PumpInterface?
|
||||
activePumpStore = getTheOneEnabledInArray(pluginsInCategory, PluginType.PUMP) as Pump?
|
||||
if (activePumpStore == null) {
|
||||
activePumpStore = getDefaultPlugin(PluginType.PUMP) as PumpInterface
|
||||
activePumpStore = getDefaultPlugin(PluginType.PUMP) as Pump
|
||||
(activePumpStore as PluginBase).setPluginEnabled(PluginType.PUMP, true)
|
||||
aapsLogger.debug(LTag.CONFIGBUILDER, "Defaulting PumpInterface")
|
||||
}
|
||||
setFragmentVisiblities((activePumpStore as PluginBase).name, pluginsInCategory, PluginType.PUMP)
|
||||
setFragmentVisibilities((activePumpStore as PluginBase).name, pluginsInCategory, PluginType.PUMP)
|
||||
|
||||
// PluginType.TREATMENT
|
||||
pluginsInCategory = getSpecificPluginsList(PluginType.TREATMENT)
|
||||
|
@ -138,50 +130,11 @@ class PluginStore @Inject constructor(
|
|||
(activeTreatmentsStore as PluginBase).setPluginEnabled(PluginType.TREATMENT, true)
|
||||
aapsLogger.debug(LTag.CONFIGBUILDER, "Defaulting PumpInterface")
|
||||
}
|
||||
setFragmentVisiblities((activeTreatmentsStore as PluginBase).name, pluginsInCategory, PluginType.TREATMENT)
|
||||
setFragmentVisibilities((activeTreatmentsStore as PluginBase).name, pluginsInCategory, PluginType.TREATMENT)
|
||||
}
|
||||
|
||||
/**
|
||||
* disables the visibility for all fragments of Plugins with the given PluginType
|
||||
* which are not equally named to the Plugin implementing the given Plugin Interface.
|
||||
*
|
||||
* @param pluginInterface
|
||||
* @param pluginType
|
||||
* @param <T>
|
||||
* @return
|
||||
</T> */
|
||||
private fun <T> determineActivePlugin(pluginInterface: Class<T>, pluginType: PluginType): T? {
|
||||
val pluginsInCategory: ArrayList<PluginBase> = getSpecificPluginsListByInterface(pluginInterface)
|
||||
return determineActivePlugin(pluginsInCategory, pluginType)
|
||||
}
|
||||
|
||||
/**
|
||||
* disables the visibility for all fragments of Plugins in the given pluginsInCategory
|
||||
* with the given PluginType which are not equally named to the Plugin implementing the
|
||||
* given Plugin Interface.
|
||||
*
|
||||
*
|
||||
* TODO we are casting an interface to PluginBase, which seems to be rather odd, since
|
||||
* TODO the interface is not implementing PluginBase (this is just avoiding errors through
|
||||
* TODO conventions.
|
||||
*
|
||||
* @param pluginsInCategory
|
||||
* @param pluginType
|
||||
* @param <T>
|
||||
* @return
|
||||
</T> */
|
||||
private fun <T> determineActivePlugin(pluginsInCategory: ArrayList<PluginBase>,
|
||||
pluginType: PluginType): T? {
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
val activePlugin = getTheOneEnabledInArray(pluginsInCategory, pluginType) as T?
|
||||
if (activePlugin != null) {
|
||||
setFragmentVisiblities((activePlugin as PluginBase).name, pluginsInCategory, pluginType)
|
||||
}
|
||||
return activePlugin
|
||||
}
|
||||
|
||||
private fun setFragmentVisiblities(activePluginName: String, pluginsInCategory: ArrayList<PluginBase>,
|
||||
pluginType: PluginType) {
|
||||
private fun setFragmentVisibilities(activePluginName: String, pluginsInCategory: ArrayList<PluginBase>,
|
||||
pluginType: PluginType) {
|
||||
aapsLogger.debug(LTag.CONFIGBUILDER, "Selected interface: $activePluginName")
|
||||
for (p in pluginsInCategory)
|
||||
if (p.name != activePluginName)
|
||||
|
@ -203,22 +156,22 @@ class PluginStore @Inject constructor(
|
|||
|
||||
// ***** Interface *****
|
||||
|
||||
override val activeBgSource: BgSourceInterface
|
||||
override val activeBgSource: BgSource
|
||||
get() = activeBgSourceStore ?: checkNotNull(activeBgSourceStore) { "No bg source selected" }
|
||||
|
||||
override val activeProfileInterface: ProfileInterface
|
||||
override val activeProfileSource: ProfileSource
|
||||
get() = activeProfile ?: checkNotNull(activeProfile) { "No profile selected" }
|
||||
|
||||
override val activeInsulin: InsulinInterface
|
||||
override val activeInsulin: Insulin
|
||||
get() = activeInsulinStore ?: checkNotNull(activeInsulinStore) { "No insulin selected" }
|
||||
|
||||
override val activeAPS: APSInterface
|
||||
override val activeAPS: APS
|
||||
get() = activeAPSStore ?: checkNotNull(activeAPSStore) { "No APS selected" }
|
||||
|
||||
override val activePump: PumpInterface
|
||||
override val activePump: Pump
|
||||
get() = activePumpStore ?: checkNotNull(activePumpStore) { "No pump selected" }
|
||||
|
||||
override val activeSensitivity: SensitivityInterface
|
||||
override val activeSensitivity: Sensitivity
|
||||
get() = activeSensitivityStore
|
||||
?: checkNotNull(activeSensitivityStore) { "No sensitivity selected" }
|
||||
|
||||
|
@ -226,9 +179,9 @@ class PluginStore @Inject constructor(
|
|||
get() = activeTreatmentsStore
|
||||
?: checkNotNull(activeTreatmentsStore) { "No treatments selected" }
|
||||
|
||||
override val activeOverview: OverviewInterface
|
||||
get() = getSpecificPluginsListByInterface(OverviewInterface::class.java).first() as OverviewInterface
|
||||
override val activeOverview: Overview
|
||||
get() = getSpecificPluginsListByInterface(Overview::class.java).first() as Overview
|
||||
|
||||
override fun getPluginsList(): ArrayList<PluginBase> = ArrayList(plugins)
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ class DstHelperPlugin @Inject constructor(
|
|||
private var rxBus: RxBusWrapper,
|
||||
resourceHelper: ResourceHelper,
|
||||
private var sp: SP,
|
||||
private var activePlugin: ActivePluginProvider,
|
||||
private var activePlugin: ActivePlugin,
|
||||
private var loopPlugin: LoopPlugin
|
||||
) : PluginBase(PluginDescription()
|
||||
.mainType(PluginType.CONSTRAINTS)
|
||||
|
@ -33,7 +33,7 @@ class DstHelperPlugin @Inject constructor(
|
|||
.showInList(false)
|
||||
.pluginName(R.string.dst_plugin_name),
|
||||
aapsLogger, resourceHelper, injector
|
||||
), ConstraintsInterface {
|
||||
), Constraints {
|
||||
|
||||
companion object {
|
||||
private const val DISABLE_TIME_FRAME_HOURS = -3
|
||||
|
|
|
@ -5,7 +5,6 @@ import com.google.common.base.Charsets
|
|||
import com.google.common.hash.Hashing
|
||||
import dagger.android.HasAndroidInjector
|
||||
import info.nightscout.androidaps.BuildConfig
|
||||
import info.nightscout.androidaps.Config
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.database.entities.UserEntry.Action
|
||||
import info.nightscout.androidaps.database.entities.UserEntry.Sources
|
||||
|
@ -15,6 +14,7 @@ import info.nightscout.androidaps.logging.UserEntryLogger
|
|||
import info.nightscout.androidaps.plugins.constraints.objectives.objectives.*
|
||||
import info.nightscout.androidaps.utils.DateUtil
|
||||
import info.nightscout.androidaps.utils.alertDialogs.OKDialog
|
||||
import info.nightscout.androidaps.utils.buildHelper.ConfigImpl
|
||||
import info.nightscout.androidaps.utils.resources.ResourceHelper
|
||||
import info.nightscout.androidaps.utils.sharedPreferences.SP
|
||||
import java.util.*
|
||||
|
@ -26,9 +26,9 @@ class ObjectivesPlugin @Inject constructor(
|
|||
injector: HasAndroidInjector,
|
||||
aapsLogger: AAPSLogger,
|
||||
resourceHelper: ResourceHelper,
|
||||
private val activePlugin: ActivePluginProvider,
|
||||
private val activePlugin: ActivePlugin,
|
||||
private val sp: SP,
|
||||
config: Config,
|
||||
config: ConfigImpl,
|
||||
private val dateUtil: DateUtil,
|
||||
private val uel: UserEntryLogger
|
||||
) : PluginBase(PluginDescription()
|
||||
|
@ -41,7 +41,7 @@ class ObjectivesPlugin @Inject constructor(
|
|||
.shortName(R.string.objectives_shortname)
|
||||
.description(R.string.description_objectives),
|
||||
aapsLogger, resourceHelper, injector
|
||||
), ConstraintsInterface {
|
||||
), Constraints {
|
||||
|
||||
var objectives: MutableList<Objective> = ArrayList()
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.constraints.objectives.objectives
|
|||
|
||||
import dagger.android.HasAndroidInjector
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.interfaces.ActivePluginProvider
|
||||
import info.nightscout.androidaps.interfaces.ActivePlugin
|
||||
import info.nightscout.androidaps.interfaces.IobCobCalculator
|
||||
import info.nightscout.androidaps.interfaces.PluginBase
|
||||
import info.nightscout.androidaps.interfaces.PluginType
|
||||
|
@ -14,7 +14,7 @@ import javax.inject.Inject
|
|||
|
||||
class Objective0(injector: HasAndroidInjector) : Objective(injector, "config", R.string.objectives_0_objective, R.string.objectives_0_gate) {
|
||||
|
||||
@Inject lateinit var activePlugin: ActivePluginProvider
|
||||
@Inject lateinit var activePlugin: ActivePlugin
|
||||
@Inject lateinit var virtualPumpPlugin: VirtualPumpPlugin
|
||||
@Inject lateinit var treatmentsPlugin: TreatmentsPlugin
|
||||
@Inject lateinit var loopPlugin: LoopPlugin
|
||||
|
|
|
@ -5,7 +5,7 @@ import android.os.Build
|
|||
import com.scottyab.rootbeer.RootBeer
|
||||
import dagger.android.HasAndroidInjector
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.interfaces.ConstraintsInterface
|
||||
import info.nightscout.androidaps.interfaces.Constraints
|
||||
import info.nightscout.androidaps.interfaces.PluginBase
|
||||
import info.nightscout.androidaps.interfaces.PluginDescription
|
||||
import info.nightscout.androidaps.interfaces.PluginType
|
||||
|
@ -27,7 +27,7 @@ class PhoneCheckerPlugin @Inject constructor(
|
|||
.showInList(false)
|
||||
.pluginName(R.string.phonechecker),
|
||||
aapsLogger, resourceHelper, injector
|
||||
), ConstraintsInterface {
|
||||
), Constraints {
|
||||
|
||||
var phoneRooted: Boolean = false
|
||||
var devMode: Boolean = false
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package info.nightscout.androidaps.plugins.constraints.safety
|
||||
|
||||
import dagger.android.HasAndroidInjector
|
||||
import info.nightscout.androidaps.Config
|
||||
import info.nightscout.androidaps.interfaces.Config
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.data.Profile
|
||||
import info.nightscout.androidaps.interfaces.*
|
||||
|
@ -35,7 +35,7 @@ class SafetyPlugin @Inject constructor(
|
|||
private val openAPSAMAPlugin: OpenAPSAMAPlugin,
|
||||
private val openAPSSMBPlugin: OpenAPSSMBPlugin,
|
||||
private val sensitivityOref1Plugin: SensitivityOref1Plugin,
|
||||
private val activePlugin: ActivePluginProvider,
|
||||
private val activePlugin: ActivePlugin,
|
||||
private val hardLimits: HardLimits,
|
||||
private val buildHelper: BuildHelper,
|
||||
private val iobCobCalculator: IobCobCalculator,
|
||||
|
@ -49,7 +49,7 @@ class SafetyPlugin @Inject constructor(
|
|||
.pluginName(R.string.safety)
|
||||
.preferencesId(R.xml.pref_safety),
|
||||
aapsLogger, resourceHelper, injector
|
||||
), ConstraintsInterface {
|
||||
), Constraints {
|
||||
|
||||
/**
|
||||
* Constraints interface
|
||||
|
|
|
@ -5,7 +5,7 @@ import android.content.pm.PackageManager
|
|||
import dagger.android.HasAndroidInjector
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.interfaces.Constraint
|
||||
import info.nightscout.androidaps.interfaces.ConstraintsInterface
|
||||
import info.nightscout.androidaps.interfaces.Constraints
|
||||
import info.nightscout.androidaps.interfaces.PluginBase
|
||||
import info.nightscout.androidaps.interfaces.PluginDescription
|
||||
import info.nightscout.androidaps.interfaces.PluginType
|
||||
|
@ -46,7 +46,7 @@ class SignatureVerifierPlugin @Inject constructor(
|
|||
.showInList(false)
|
||||
.pluginName(R.string.signature_verifier),
|
||||
aapsLogger, resourceHelper, injector
|
||||
), ConstraintsInterface {
|
||||
), Constraints {
|
||||
|
||||
private val REVOKED_CERTS_URL = "https://raw.githubusercontent.com/nightscout/AndroidAPS/master/app/src/main/assets/revoked_certs.txt"
|
||||
private val UPDATE_INTERVAL = TimeUnit.DAYS.toMillis(1)
|
||||
|
|
|
@ -6,7 +6,7 @@ import dagger.android.HasAndroidInjector
|
|||
import info.nightscout.androidaps.Constants
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.interfaces.Constraint
|
||||
import info.nightscout.androidaps.interfaces.ConstraintsInterface
|
||||
import info.nightscout.androidaps.interfaces.Constraints
|
||||
import info.nightscout.androidaps.interfaces.PluginBase
|
||||
import info.nightscout.androidaps.interfaces.PluginDescription
|
||||
import info.nightscout.androidaps.interfaces.PluginType
|
||||
|
@ -33,7 +33,7 @@ open class StorageConstraintPlugin @Inject constructor(
|
|||
.showInList(false)
|
||||
.pluginName(R.string.storage),
|
||||
aapsLogger, resourceHelper, injector
|
||||
), ConstraintsInterface {
|
||||
), Constraints {
|
||||
|
||||
override fun isClosedLoopAllowed(value: Constraint<Boolean>): Constraint<Boolean> {
|
||||
val diskFree = availableInternalMemorySize()
|
||||
|
|
|
@ -4,7 +4,7 @@ import dagger.android.HasAndroidInjector
|
|||
import info.nightscout.androidaps.BuildConfig
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.interfaces.Constraint
|
||||
import info.nightscout.androidaps.interfaces.ConstraintsInterface
|
||||
import info.nightscout.androidaps.interfaces.Constraints
|
||||
import info.nightscout.androidaps.interfaces.PluginBase
|
||||
import info.nightscout.androidaps.interfaces.PluginDescription
|
||||
import info.nightscout.androidaps.interfaces.PluginType
|
||||
|
@ -35,7 +35,7 @@ class VersionCheckerPlugin @Inject constructor(
|
|||
.showInList(false)
|
||||
.pluginName(R.string.versionChecker),
|
||||
aapsLogger, resourceHelper, injector
|
||||
), ConstraintsInterface {
|
||||
), Constraints {
|
||||
|
||||
enum class GracePeriod(val warning: Long, val old: Long, val veryOld: Long) {
|
||||
RELEASE(30, 60, 90),
|
||||
|
|
|
@ -11,7 +11,7 @@ import android.widget.LinearLayout
|
|||
import android.widget.TextView
|
||||
import androidx.core.content.ContextCompat
|
||||
import dagger.android.support.DaggerFragment
|
||||
import info.nightscout.androidaps.Config
|
||||
import info.nightscout.androidaps.interfaces.Config
|
||||
import info.nightscout.androidaps.Constants
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.activities.ErrorHelperActivity
|
||||
|
@ -26,7 +26,7 @@ import info.nightscout.androidaps.extensions.toStringMedium
|
|||
import info.nightscout.androidaps.extensions.toStringShort
|
||||
import info.nightscout.androidaps.extensions.toVisibility
|
||||
import info.nightscout.androidaps.historyBrowser.HistoryBrowseActivity
|
||||
import info.nightscout.androidaps.interfaces.ActivePluginProvider
|
||||
import info.nightscout.androidaps.interfaces.ActivePlugin
|
||||
import info.nightscout.androidaps.interfaces.CommandQueueProvider
|
||||
import info.nightscout.androidaps.interfaces.IobCobCalculator
|
||||
import info.nightscout.androidaps.interfaces.ProfileFunction
|
||||
|
@ -65,7 +65,7 @@ class ActionsFragment : DaggerFragment() {
|
|||
@Inject lateinit var resourceHelper: ResourceHelper
|
||||
@Inject lateinit var statusLightHandler: StatusLightHandler
|
||||
@Inject lateinit var fabricPrivacy: FabricPrivacy
|
||||
@Inject lateinit var activePlugin: ActivePluginProvider
|
||||
@Inject lateinit var activePlugin: ActivePlugin
|
||||
@Inject lateinit var iobCobCalculator: IobCobCalculator
|
||||
@Inject lateinit var commandQueue: CommandQueueProvider
|
||||
@Inject lateinit var buildHelper: BuildHelper
|
||||
|
@ -265,7 +265,7 @@ class ActionsFragment : DaggerFragment() {
|
|||
val pump = activePlugin.activePump
|
||||
|
||||
profileSwitch?.visibility = (
|
||||
activePlugin.activeProfileInterface.profile != null &&
|
||||
activePlugin.activeProfileSource.profile != null &&
|
||||
pump.pumpDescription.isSetBasalProfileCapable &&
|
||||
pump.isInitialized() &&
|
||||
!pump.isSuspended()).toVisibility()
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package info.nightscout.androidaps.plugins.general.actions
|
||||
|
||||
import dagger.android.HasAndroidInjector
|
||||
import info.nightscout.androidaps.Config
|
||||
import info.nightscout.androidaps.interfaces.Config
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.interfaces.PluginBase
|
||||
import info.nightscout.androidaps.interfaces.PluginDescription
|
||||
|
|
|
@ -5,7 +5,7 @@ import android.content.Intent
|
|||
import android.content.pm.ResolveInfo
|
||||
import android.os.Bundle
|
||||
import dagger.android.HasAndroidInjector
|
||||
import info.nightscout.androidaps.Config
|
||||
import info.nightscout.androidaps.interfaces.Config
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.events.*
|
||||
import info.nightscout.androidaps.interfaces.*
|
||||
|
@ -45,7 +45,7 @@ class DataBroadcastPlugin @Inject constructor(
|
|||
private val defaultValueHelper: DefaultValueHelper,
|
||||
private val nsDeviceStatus: NSDeviceStatus,
|
||||
private val loopPlugin: LoopPlugin,
|
||||
private val activePlugin: ActivePluginProvider,
|
||||
private val activePlugin: ActivePlugin,
|
||||
private var receiverStatusStore: ReceiverStatusStore,
|
||||
private val config: Config,
|
||||
private val glucoseStatusProvider: GlucoseStatusProvider
|
||||
|
|
|
@ -19,8 +19,8 @@ import info.nightscout.androidaps.database.entities.UserEntry
|
|||
import info.nightscout.androidaps.database.entities.UserEntry.Action
|
||||
import info.nightscout.androidaps.database.entities.UserEntry.Sources
|
||||
import info.nightscout.androidaps.events.EventAppExit
|
||||
import info.nightscout.androidaps.interfaces.ConfigInterface
|
||||
import info.nightscout.androidaps.interfaces.ImportExportPrefsInterface
|
||||
import info.nightscout.androidaps.interfaces.Config
|
||||
import info.nightscout.androidaps.interfaces.ImportExportPrefs
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
import info.nightscout.androidaps.logging.LTag
|
||||
import info.nightscout.androidaps.logging.UserEntryLogger
|
||||
|
@ -50,21 +50,21 @@ import kotlin.system.exitProcess
|
|||
*/
|
||||
|
||||
@Singleton
|
||||
class ImportExportPrefs @Inject constructor(
|
||||
class ImportExportPrefsImpl @Inject constructor(
|
||||
private var log: AAPSLogger,
|
||||
private val resourceHelper: ResourceHelper,
|
||||
private val sp: SP,
|
||||
private val buildHelper: BuildHelper,
|
||||
private val rxBus: RxBusWrapper,
|
||||
private val passwordCheck: PasswordCheck,
|
||||
private val config: ConfigInterface,
|
||||
private val config: Config,
|
||||
private val androidPermission: AndroidPermission,
|
||||
private val classicPrefsFormat: ClassicPrefsFormat,
|
||||
private val encryptedPrefsFormat: EncryptedPrefsFormat,
|
||||
private val prefFileList: PrefFileListProvider,
|
||||
private val uel: UserEntryLogger,
|
||||
private val dateUtil: DateUtil
|
||||
) : ImportExportPrefsInterface {
|
||||
) : ImportExportPrefs {
|
||||
|
||||
override fun prefsFileExists(): Boolean {
|
||||
return prefFileList.listPreferenceFiles().size > 0
|
|
@ -14,7 +14,7 @@ import info.nightscout.androidaps.databinding.MaintenanceFragmentBinding
|
|||
import info.nightscout.androidaps.events.EventNewBG
|
||||
import info.nightscout.androidaps.interfaces.DataSyncSelector
|
||||
import info.nightscout.androidaps.interfaces.DatabaseHelperInterface
|
||||
import info.nightscout.androidaps.interfaces.ImportExportPrefsInterface
|
||||
import info.nightscout.androidaps.interfaces.ImportExportPrefs
|
||||
import info.nightscout.androidaps.interfaces.PumpSync
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
import info.nightscout.androidaps.logging.UserEntryLogger
|
||||
|
@ -35,7 +35,7 @@ class MaintenanceFragment : DaggerFragment() {
|
|||
@Inject lateinit var maintenancePlugin: MaintenancePlugin
|
||||
@Inject lateinit var rxBus: RxBusWrapper
|
||||
@Inject lateinit var resourceHelper: ResourceHelper
|
||||
@Inject lateinit var importExportPrefs: ImportExportPrefsInterface
|
||||
@Inject lateinit var importExportPrefs: ImportExportPrefs
|
||||
@Inject lateinit var aapsSchedulers: AapsSchedulers
|
||||
@Inject lateinit var repository: AppRepository
|
||||
@Inject lateinit var databaseHelper: DatabaseHelperInterface
|
||||
|
|
|
@ -8,7 +8,7 @@ import androidx.preference.PreferenceFragmentCompat
|
|||
import androidx.preference.SwitchPreference
|
||||
import dagger.android.HasAndroidInjector
|
||||
import info.nightscout.androidaps.BuildConfig
|
||||
import info.nightscout.androidaps.Config
|
||||
import info.nightscout.androidaps.interfaces.Config
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.interfaces.PluginBase
|
||||
import info.nightscout.androidaps.interfaces.PluginDescription
|
||||
|
|
|
@ -4,7 +4,7 @@ import info.nightscout.androidaps.R
|
|||
import info.nightscout.androidaps.database.AppRepository
|
||||
import info.nightscout.androidaps.database.entities.DeviceStatus
|
||||
import info.nightscout.androidaps.database.entities.*
|
||||
import info.nightscout.androidaps.interfaces.ActivePluginProvider
|
||||
import info.nightscout.androidaps.interfaces.ActivePlugin
|
||||
import info.nightscout.androidaps.interfaces.DataSyncSelector
|
||||
import info.nightscout.androidaps.interfaces.ProfileFunction
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
|
@ -20,7 +20,7 @@ class DataSyncSelectorImplementation @Inject constructor(
|
|||
private val dateUtil: DateUtil,
|
||||
private val profileFunction: ProfileFunction,
|
||||
private val nsClientPlugin: NSClientPlugin,
|
||||
private val activePlugin: ActivePluginProvider,
|
||||
private val activePlugin: ActivePlugin,
|
||||
private val appRepository: AppRepository
|
||||
) : DataSyncSelector {
|
||||
|
||||
|
@ -244,7 +244,7 @@ class DataSyncSelectorImplementation @Inject constructor(
|
|||
val startId = sp.getLong(R.string.key_ns_glucose_value_last_synced_id, 0)
|
||||
appRepository.getNextSyncElementGlucoseValue(startId).blockingGet()?.let { gv ->
|
||||
aapsLogger.info(LTag.DATABASE, "Loading GlucoseValue data Start: $startId ID: ${gv.first.id} HistoryID: ${gv.second} ")
|
||||
if (activePlugin.activeBgSource.uploadToNs(gv.first)) {
|
||||
if (activePlugin.activeBgSource.shouldUploadToNs(gv.first)) {
|
||||
when {
|
||||
// removed and not uploaded yet = ignore
|
||||
!gv.first.isValid && gv.first.interfaceIDs.nightscoutId == null -> Any()
|
||||
|
|
|
@ -0,0 +1,237 @@
|
|||
package info.nightscout.androidaps.plugins.general.nsclient
|
||||
|
||||
import android.content.Context
|
||||
import androidx.work.Worker
|
||||
import androidx.work.WorkerParameters
|
||||
import androidx.work.workDataOf
|
||||
import dagger.android.HasAndroidInjector
|
||||
import info.nightscout.androidaps.database.AppRepository
|
||||
import info.nightscout.androidaps.database.entities.DeviceStatus
|
||||
import info.nightscout.androidaps.database.transactions.*
|
||||
import info.nightscout.androidaps.interfaces.DataSyncSelector
|
||||
import info.nightscout.androidaps.interfaces.DataSyncSelector.*
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
import info.nightscout.androidaps.logging.LTag
|
||||
import info.nightscout.androidaps.plugins.bus.RxBusWrapper
|
||||
import info.nightscout.androidaps.plugins.general.nsclient.acks.NSAddAck
|
||||
import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientNewLog
|
||||
import info.nightscout.androidaps.receivers.DataWorker
|
||||
import info.nightscout.androidaps.utils.rx.AapsSchedulers
|
||||
import javax.inject.Inject
|
||||
|
||||
class NSClientAddAckWorker(
|
||||
context: Context,
|
||||
params: WorkerParameters
|
||||
) : Worker(context, params) {
|
||||
|
||||
@Inject lateinit var dataWorker: DataWorker
|
||||
@Inject lateinit var aapsLogger: AAPSLogger
|
||||
@Inject lateinit var repository: AppRepository
|
||||
@Inject lateinit var rxBus: RxBusWrapper
|
||||
@Inject lateinit var dataSyncSelector: DataSyncSelector
|
||||
@Inject lateinit var aapsSchedulers: AapsSchedulers
|
||||
|
||||
override fun doWork(): Result {
|
||||
var ret = Result.success()
|
||||
|
||||
val ack = dataWorker.pickupObject(inputData.getLong(DataWorker.STORE_KEY, -1)) as NSAddAck?
|
||||
?: return Result.failure(workDataOf("Error" to "missing input data"))
|
||||
|
||||
when (ack.originalObject) {
|
||||
is PairTemporaryTarget -> {
|
||||
val pair = ack.originalObject
|
||||
pair.value.interfaceIDs.nightscoutId = ack.id
|
||||
repository.runTransactionForResult(UpdateNsIdTemporaryTargetTransaction(pair.value))
|
||||
.doOnError { error ->
|
||||
aapsLogger.error(LTag.DATABASE, "Updated ns id of TemporaryTarget failed", error)
|
||||
ret = Result.failure((workDataOf("Error" to error)))
|
||||
}
|
||||
.doOnSuccess {
|
||||
ret = Result.success(workDataOf("ProcessedData" to pair.toString()))
|
||||
aapsLogger.debug(LTag.DATABASE, "Updated ns id of TemporaryTarget " + pair.value)
|
||||
dataSyncSelector.confirmLastTempTargetsIdIfGreater(pair.updateRecordId)
|
||||
}
|
||||
.blockingGet()
|
||||
rxBus.send(EventNSClientNewLog("DBADD", "Acked TemporaryTarget " + pair.value.interfaceIDs.nightscoutId))
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedTempTargetsCompat()
|
||||
}
|
||||
|
||||
is PairGlucoseValue -> {
|
||||
val pair = ack.originalObject
|
||||
pair.value.interfaceIDs.nightscoutId = ack.id
|
||||
repository.runTransactionForResult(UpdateNsIdGlucoseValueTransaction(pair.value))
|
||||
.doOnError { error ->
|
||||
aapsLogger.error(LTag.DATABASE, "Updated ns id of GlucoseValue failed", error)
|
||||
ret = Result.failure((workDataOf("Error" to error)))
|
||||
}
|
||||
.doOnSuccess {
|
||||
ret = Result.success(workDataOf("ProcessedData" to pair.toString()))
|
||||
aapsLogger.debug(LTag.DATABASE, "Updated ns id of GlucoseValue " + pair.value)
|
||||
dataSyncSelector.confirmLastGlucoseValueIdIfGreater(pair.updateRecordId)
|
||||
}
|
||||
.blockingGet()
|
||||
rxBus.send(EventNSClientNewLog("DBADD", "Acked GlucoseValue " + pair.value.interfaceIDs.nightscoutId))
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedGlucoseValuesCompat()
|
||||
}
|
||||
|
||||
is PairFood -> {
|
||||
val pair = ack.originalObject
|
||||
pair.value.interfaceIDs.nightscoutId = ack.id
|
||||
repository.runTransactionForResult(UpdateNsIdFoodTransaction(pair.value))
|
||||
.doOnError { error ->
|
||||
aapsLogger.error(LTag.DATABASE, "Updated ns id of Food failed", error)
|
||||
ret = Result.failure((workDataOf("Error" to error)))
|
||||
}
|
||||
.doOnSuccess {
|
||||
ret = Result.success(workDataOf("ProcessedData" to pair.toString()))
|
||||
aapsLogger.debug(LTag.DATABASE, "Updated ns id of Food " + pair.value)
|
||||
dataSyncSelector.confirmLastFoodIdIfGreater(pair.updateRecordId)
|
||||
}
|
||||
.blockingGet()
|
||||
rxBus.send(EventNSClientNewLog("DBADD", "Acked Food " + pair.value.interfaceIDs.nightscoutId))
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedFoodsCompat()
|
||||
}
|
||||
|
||||
is PairTherapyEvent -> {
|
||||
val pair = ack.originalObject
|
||||
pair.value.interfaceIDs.nightscoutId = ack.id
|
||||
repository.runTransactionForResult(UpdateNsIdTherapyEventTransaction(pair.value))
|
||||
.doOnError { error ->
|
||||
aapsLogger.error(LTag.DATABASE, "Updated ns id of TherapyEvent failed", error)
|
||||
ret = Result.failure((workDataOf("Error" to error)))
|
||||
}
|
||||
.doOnSuccess {
|
||||
ret = Result.success(workDataOf("ProcessedData" to pair.toString()))
|
||||
aapsLogger.debug(LTag.DATABASE, "Updated ns id of TherapyEvent " + pair.value)
|
||||
dataSyncSelector.confirmLastTherapyEventIdIfGreater(pair.updateRecordId)
|
||||
}
|
||||
.blockingGet()
|
||||
rxBus.send(EventNSClientNewLog("DBADD", "Acked TherapyEvent " + pair.value.interfaceIDs.nightscoutId))
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedTherapyEventsCompat()
|
||||
}
|
||||
|
||||
is PairBolus -> {
|
||||
val pair = ack.originalObject
|
||||
pair.value.interfaceIDs.nightscoutId = ack.id
|
||||
repository.runTransactionForResult(UpdateNsIdBolusTransaction(pair.value))
|
||||
.doOnError { error ->
|
||||
aapsLogger.error(LTag.DATABASE, "Updated ns id of Bolus failed", error)
|
||||
ret = Result.failure((workDataOf("Error" to error)))
|
||||
}
|
||||
.doOnSuccess {
|
||||
ret = Result.success(workDataOf("ProcessedData" to pair.toString()))
|
||||
aapsLogger.debug(LTag.DATABASE, "Updated ns id of Bolus " + pair.value)
|
||||
dataSyncSelector.confirmLastBolusIdIfGreater(pair.updateRecordId)
|
||||
}
|
||||
.blockingGet()
|
||||
rxBus.send(EventNSClientNewLog("DBADD", "Acked Bolus " + pair.value.interfaceIDs.nightscoutId))
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedBolusesCompat()
|
||||
}
|
||||
|
||||
is PairCarbs -> {
|
||||
val pair = ack.originalObject
|
||||
pair.value.interfaceIDs.nightscoutId = ack.id
|
||||
repository.runTransactionForResult(UpdateNsIdCarbsTransaction(pair.value))
|
||||
.doOnError { error ->
|
||||
aapsLogger.error(LTag.DATABASE, "Updated ns id of Carbs failed", error)
|
||||
ret = Result.failure((workDataOf("Error" to error)))
|
||||
}
|
||||
.doOnSuccess {
|
||||
ret = Result.success(workDataOf("ProcessedData" to pair.toString()))
|
||||
aapsLogger.debug(LTag.DATABASE, "Updated ns id of Carbs " + pair.value)
|
||||
dataSyncSelector.confirmLastCarbsIdIfGreater(pair.updateRecordId)
|
||||
}
|
||||
.blockingGet()
|
||||
rxBus.send(EventNSClientNewLog("DBADD", "Acked Carbs" + pair.value.interfaceIDs.nightscoutId))
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedCarbsCompat()
|
||||
}
|
||||
|
||||
is PairBolusCalculatorResult -> {
|
||||
val pair = ack.originalObject
|
||||
pair.value.interfaceIDs.nightscoutId = ack.id
|
||||
repository.runTransactionForResult(UpdateNsIdBolusCalculatorResultTransaction(pair.value))
|
||||
.doOnError { error ->
|
||||
aapsLogger.error(LTag.DATABASE, "Updated ns id of BolusCalculatorResult failed", error)
|
||||
ret = Result.failure((workDataOf("Error" to error)))
|
||||
}
|
||||
.doOnSuccess {
|
||||
ret = Result.success(workDataOf("ProcessedData" to pair.toString()))
|
||||
aapsLogger.debug(LTag.DATABASE, "Updated ns id of BolusCalculatorResult " + pair.value)
|
||||
dataSyncSelector.confirmLastBolusCalculatorResultsIdIfGreater(pair.updateRecordId)
|
||||
}
|
||||
.blockingGet()
|
||||
rxBus.send(EventNSClientNewLog("DBADD", "Acked BolusCalculatorResult" + pair.value.interfaceIDs.nightscoutId))
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedBolusCalculatorResultsCompat()
|
||||
}
|
||||
|
||||
is PairTemporaryBasal -> {
|
||||
val pair = ack.originalObject
|
||||
pair.value.interfaceIDs.nightscoutId = ack.id
|
||||
repository.runTransactionForResult(UpdateNsIdTemporaryBasalTransaction(pair.value))
|
||||
.doOnError { error ->
|
||||
aapsLogger.error(LTag.DATABASE, "Updated ns id of TemporaryBasal failed", error)
|
||||
ret = Result.failure((workDataOf("Error" to error)))
|
||||
}
|
||||
.doOnSuccess {
|
||||
ret = Result.success(workDataOf("ProcessedData" to pair.toString()))
|
||||
aapsLogger.debug(LTag.DATABASE, "Updated ns id of TemporaryBasal " + pair.value)
|
||||
dataSyncSelector.confirmLastTemporaryBasalIdIfGreater(pair.updateRecordId)
|
||||
}
|
||||
.blockingGet()
|
||||
rxBus.send(EventNSClientNewLog("DBADD", "Acked TemporaryBasal" + pair.value.interfaceIDs.nightscoutId))
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedTemporaryBasalsCompat()
|
||||
}
|
||||
|
||||
is PairExtendedBolus -> {
|
||||
val pair = ack.originalObject
|
||||
pair.value.interfaceIDs.nightscoutId = ack.id
|
||||
repository.runTransactionForResult(UpdateNsIdExtendedBolusTransaction(pair.value))
|
||||
.doOnError { error ->
|
||||
aapsLogger.error(LTag.DATABASE, "Updated ns id of ExtendedBolus failed", error)
|
||||
ret = Result.failure((workDataOf("Error" to error)))
|
||||
}
|
||||
.doOnSuccess {
|
||||
ret = Result.success(workDataOf("ProcessedData" to pair.toString()))
|
||||
aapsLogger.debug(LTag.DATABASE, "Updated ns id of ExtendedBolus " + pair.value)
|
||||
dataSyncSelector.confirmLastExtendedBolusIdIfGreater(pair.updateRecordId)
|
||||
}
|
||||
.blockingGet()
|
||||
rxBus.send(EventNSClientNewLog("DBADD", "Acked ExtendedBolus" + pair.value.interfaceIDs.nightscoutId))
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedTemporaryBasalsCompat()
|
||||
}
|
||||
|
||||
is DeviceStatus -> {
|
||||
val deviceStatus = ack.originalObject
|
||||
deviceStatus.interfaceIDs.nightscoutId = ack.id
|
||||
repository.runTransactionForResult(UpdateNsIdDeviceStatusTransaction(deviceStatus))
|
||||
.doOnError { error ->
|
||||
aapsLogger.error(LTag.DATABASE, "Updated ns id of DeviceStatus failed", error)
|
||||
ret = Result.failure((workDataOf("Error" to error)))
|
||||
}
|
||||
.doOnSuccess {
|
||||
ret = Result.success(workDataOf("ProcessedData" to deviceStatus))
|
||||
aapsLogger.debug(LTag.DATABASE, "Updated ns id of DeviceStatus $deviceStatus")
|
||||
dataSyncSelector.confirmLastDeviceStatusIdIfGreater(deviceStatus.id)
|
||||
}
|
||||
.blockingGet()
|
||||
rxBus.send(EventNSClientNewLog("DBADD", "Acked DeviceStatus" + deviceStatus.interfaceIDs.nightscoutId))
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedBolusCalculatorResultsCompat()
|
||||
}
|
||||
}
|
||||
return ret
|
||||
}
|
||||
|
||||
init {
|
||||
(context.applicationContext as HasAndroidInjector).androidInjector().inject(this)
|
||||
}
|
||||
}
|
|
@ -14,7 +14,7 @@ import info.nightscout.androidaps.database.entities.UserEntry.Sources
|
|||
import info.nightscout.androidaps.database.entities.ValueWithUnit
|
||||
import info.nightscout.androidaps.database.transactions.*
|
||||
import info.nightscout.androidaps.extensions.*
|
||||
import info.nightscout.androidaps.interfaces.ConfigInterface
|
||||
import info.nightscout.androidaps.interfaces.Config
|
||||
import info.nightscout.androidaps.interfaces.DatabaseHelperInterface
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
import info.nightscout.androidaps.logging.LTag
|
||||
|
@ -42,7 +42,7 @@ class NSClientAddUpdateWorker(
|
|||
@Inject lateinit var buildHelper: BuildHelper
|
||||
@Inject lateinit var sp: SP
|
||||
@Inject lateinit var dateUtil: DateUtil
|
||||
@Inject lateinit var config: ConfigInterface
|
||||
@Inject lateinit var config: Config
|
||||
@Inject lateinit var repository: AppRepository
|
||||
@Inject lateinit var databaseHelper: DatabaseHelperInterface
|
||||
@Inject lateinit var rxBus: RxBusWrapper
|
||||
|
|
|
@ -8,7 +8,7 @@ import dagger.android.HasAndroidInjector
|
|||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.database.AppRepository
|
||||
import info.nightscout.androidaps.database.transactions.SyncNsTherapyEventTransaction
|
||||
import info.nightscout.androidaps.interfaces.ConfigInterface
|
||||
import info.nightscout.androidaps.interfaces.Config
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
import info.nightscout.androidaps.logging.LTag
|
||||
import info.nightscout.androidaps.plugins.general.nsclient.data.NSMbg
|
||||
|
@ -28,7 +28,7 @@ class NSClientMbgWorker(
|
|||
@Inject lateinit var aapsLogger: AAPSLogger
|
||||
@Inject lateinit var sp: SP
|
||||
@Inject lateinit var buildHelper: BuildHelper
|
||||
@Inject lateinit var config: ConfigInterface
|
||||
@Inject lateinit var config: Config
|
||||
|
||||
override fun doWork(): Result {
|
||||
var ret = Result.success()
|
||||
|
|
|
@ -21,7 +21,7 @@ import javax.inject.Inject;
|
|||
import javax.inject.Singleton;
|
||||
|
||||
import dagger.android.HasAndroidInjector;
|
||||
import info.nightscout.androidaps.Config;
|
||||
import info.nightscout.androidaps.interfaces.Config;
|
||||
import info.nightscout.androidaps.Constants;
|
||||
import info.nightscout.androidaps.R;
|
||||
import info.nightscout.androidaps.events.EventAppExit;
|
||||
|
|
|
@ -12,7 +12,7 @@ import info.nightscout.androidaps.database.entities.UserEntry.Sources
|
|||
import info.nightscout.androidaps.database.entities.ValueWithUnit
|
||||
import info.nightscout.androidaps.database.transactions.*
|
||||
import info.nightscout.androidaps.extensions.*
|
||||
import info.nightscout.androidaps.interfaces.ConfigInterface
|
||||
import info.nightscout.androidaps.interfaces.Config
|
||||
import info.nightscout.androidaps.interfaces.DatabaseHelperInterface
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
import info.nightscout.androidaps.logging.LTag
|
||||
|
@ -37,7 +37,7 @@ class NSClientRemoveWorker(
|
|||
@Inject lateinit var aapsLogger: AAPSLogger
|
||||
@Inject lateinit var buildHelper: BuildHelper
|
||||
@Inject lateinit var sp: SP
|
||||
@Inject lateinit var config: ConfigInterface
|
||||
@Inject lateinit var config: Config
|
||||
@Inject lateinit var repository: AppRepository
|
||||
@Inject lateinit var databaseHelper: DatabaseHelperInterface
|
||||
@Inject lateinit var rxBus: RxBusWrapper
|
||||
|
|
|
@ -0,0 +1,126 @@
|
|||
package info.nightscout.androidaps.plugins.general.nsclient
|
||||
|
||||
import android.content.Context
|
||||
import androidx.work.Worker
|
||||
import androidx.work.WorkerParameters
|
||||
import androidx.work.workDataOf
|
||||
import dagger.android.HasAndroidInjector
|
||||
import info.nightscout.androidaps.database.AppRepository
|
||||
import info.nightscout.androidaps.interfaces.DataSyncSelector
|
||||
import info.nightscout.androidaps.interfaces.DataSyncSelector.*
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
import info.nightscout.androidaps.plugins.bus.RxBusWrapper
|
||||
import info.nightscout.androidaps.plugins.general.nsclient.acks.NSUpdateAck
|
||||
import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientNewLog
|
||||
import info.nightscout.androidaps.receivers.DataWorker
|
||||
import info.nightscout.androidaps.utils.rx.AapsSchedulers
|
||||
import javax.inject.Inject
|
||||
|
||||
class NSClientUpdateRemoveAckWorker(
|
||||
context: Context,
|
||||
params: WorkerParameters
|
||||
) : Worker(context, params) {
|
||||
|
||||
@Inject lateinit var dataWorker: DataWorker
|
||||
@Inject lateinit var aapsLogger: AAPSLogger
|
||||
@Inject lateinit var repository: AppRepository
|
||||
@Inject lateinit var rxBus: RxBusWrapper
|
||||
@Inject lateinit var dataSyncSelector: DataSyncSelector
|
||||
@Inject lateinit var aapsSchedulers: AapsSchedulers
|
||||
|
||||
override fun doWork(): Result {
|
||||
var ret = Result.success()
|
||||
|
||||
val ack = dataWorker.pickupObject(inputData.getLong(DataWorker.STORE_KEY, -1)) as NSUpdateAck?
|
||||
?: return Result.failure(workDataOf("Error" to "missing input data"))
|
||||
|
||||
// new room way
|
||||
when (ack.originalObject) {
|
||||
is PairTemporaryTarget -> {
|
||||
val pair = ack.originalObject
|
||||
dataSyncSelector.confirmLastTempTargetsIdIfGreater(pair.updateRecordId)
|
||||
rxBus.send(EventNSClientNewLog("DBUPDATE/DBREMOVE", "Acked TemporaryTarget" + ack._id))
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedTempTargetsCompat()
|
||||
ret = Result.success(workDataOf("ProcessedData" to pair.toString()))
|
||||
}
|
||||
|
||||
is PairGlucoseValue -> {
|
||||
val pair = ack.originalObject
|
||||
dataSyncSelector.confirmLastGlucoseValueIdIfGreater(pair.updateRecordId)
|
||||
rxBus.send(EventNSClientNewLog("DBUPDATE/DBREMOVE", "Acked GlucoseValue " + ack._id))
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedGlucoseValuesCompat()
|
||||
ret = Result.success(workDataOf("ProcessedData" to pair.toString()))
|
||||
}
|
||||
|
||||
is PairFood -> {
|
||||
val pair = ack.originalObject
|
||||
dataSyncSelector.confirmLastFoodIdIfGreater(pair.updateRecordId)
|
||||
rxBus.send(EventNSClientNewLog("DBUPDATE/DBREMOVE", "Acked Food " + ack._id))
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedFoodsCompat()
|
||||
ret = Result.success(workDataOf("ProcessedData" to pair.toString()))
|
||||
}
|
||||
|
||||
is PairTherapyEvent -> {
|
||||
val pair = ack.originalObject
|
||||
dataSyncSelector.confirmLastTherapyEventIdIfGreater(pair.updateRecordId)
|
||||
rxBus.send(EventNSClientNewLog("DBUPDATE/DBREMOVE", "Acked TherapyEvent " + ack._id))
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedTherapyEventsCompat()
|
||||
ret = Result.success(workDataOf("ProcessedData" to pair.toString()))
|
||||
}
|
||||
|
||||
is PairBolus -> {
|
||||
val pair = ack.originalObject
|
||||
dataSyncSelector.confirmLastBolusIdIfGreater(pair.updateRecordId)
|
||||
rxBus.send(EventNSClientNewLog("DBUPDATE/DBREMOVE", "Acked Bolus " + ack._id))
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedBolusesCompat()
|
||||
ret = Result.success(workDataOf("ProcessedData" to pair.toString()))
|
||||
}
|
||||
|
||||
is PairCarbs -> {
|
||||
val pair = ack.originalObject
|
||||
dataSyncSelector.confirmLastCarbsIdIfGreater(pair.updateRecordId)
|
||||
rxBus.send(EventNSClientNewLog("DBUPDATE/DBREMOVE", "Acked Carbs " + ack._id))
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedCarbsCompat()
|
||||
ret = Result.success(workDataOf("ProcessedData" to pair.toString()))
|
||||
}
|
||||
|
||||
is PairBolusCalculatorResult -> {
|
||||
val pair = ack.originalObject
|
||||
dataSyncSelector.confirmLastBolusCalculatorResultsIdIfGreater(pair.updateRecordId)
|
||||
rxBus.send(EventNSClientNewLog("DBUPDATE/DBREMOVE", "Acked BolusCalculatorResult " + ack._id))
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedBolusCalculatorResultsCompat()
|
||||
ret = Result.success(workDataOf("ProcessedData" to pair.toString()))
|
||||
}
|
||||
|
||||
is PairTemporaryBasal -> {
|
||||
val pair = ack.originalObject
|
||||
dataSyncSelector.confirmLastTemporaryBasalIdIfGreater(pair.updateRecordId)
|
||||
rxBus.send(EventNSClientNewLog("DBUPDATE/DBREMOVE", "Acked TemporaryBasal " + ack._id))
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedTemporaryBasalsCompat()
|
||||
ret = Result.success(workDataOf("ProcessedData" to pair.toString()))
|
||||
}
|
||||
|
||||
is PairExtendedBolus -> {
|
||||
val pair = ack.originalObject
|
||||
dataSyncSelector.confirmLastExtendedBolusIdIfGreater(pair.updateRecordId)
|
||||
rxBus.send(EventNSClientNewLog("DBUPDATE/DBREMOVE", "Acked ExtendedBolus " + ack._id))
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedExtendedBolusesCompat()
|
||||
ret = Result.success(workDataOf("ProcessedData" to pair.toString()))
|
||||
}
|
||||
}
|
||||
return ret
|
||||
}
|
||||
|
||||
init {
|
||||
(context.applicationContext as HasAndroidInjector).androidInjector().inject(this)
|
||||
}
|
||||
}
|
|
@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.general.nsclient.data
|
|||
import android.text.Spanned
|
||||
import dagger.android.HasAndroidInjector
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.interfaces.ConfigInterface
|
||||
import info.nightscout.androidaps.interfaces.Config
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
import info.nightscout.androidaps.logging.LTag
|
||||
import info.nightscout.androidaps.plugins.aps.loop.APSResult
|
||||
|
@ -78,7 +78,7 @@ class NSDeviceStatus @Inject constructor(
|
|||
private val sp: SP,
|
||||
private val resourceHelper: ResourceHelper,
|
||||
private val nsSettingsStatus: NSSettingsStatus,
|
||||
private val config: ConfigInterface,
|
||||
private val config: Config,
|
||||
private val dateUtil: DateUtil,
|
||||
private val runningConfiguration: RunningConfiguration
|
||||
) {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package info.nightscout.androidaps.plugins.general.nsclient.data
|
||||
|
||||
import android.content.Context
|
||||
import info.nightscout.androidaps.Config
|
||||
import info.nightscout.androidaps.interfaces.Config
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.database.entities.UserEntry
|
||||
import info.nightscout.androidaps.database.entities.UserEntry.Action
|
||||
|
|
|
@ -29,20 +29,9 @@ import javax.inject.Inject;
|
|||
|
||||
import dagger.android.DaggerService;
|
||||
import dagger.android.HasAndroidInjector;
|
||||
import info.nightscout.androidaps.Config;
|
||||
import info.nightscout.androidaps.interfaces.Config;
|
||||
import info.nightscout.androidaps.R;
|
||||
import info.nightscout.androidaps.database.AppRepository;
|
||||
import info.nightscout.androidaps.database.entities.DeviceStatus;
|
||||
import info.nightscout.androidaps.database.transactions.UpdateNsIdBolusCalculatorResultTransaction;
|
||||
import info.nightscout.androidaps.database.transactions.UpdateNsIdBolusTransaction;
|
||||
import info.nightscout.androidaps.database.transactions.UpdateNsIdCarbsTransaction;
|
||||
import info.nightscout.androidaps.database.transactions.UpdateNsIdDeviceStatusTransaction;
|
||||
import info.nightscout.androidaps.database.transactions.UpdateNsIdExtendedBolusTransaction;
|
||||
import info.nightscout.androidaps.database.transactions.UpdateNsIdFoodTransaction;
|
||||
import info.nightscout.androidaps.database.transactions.UpdateNsIdGlucoseValueTransaction;
|
||||
import info.nightscout.androidaps.database.transactions.UpdateNsIdTemporaryBasalTransaction;
|
||||
import info.nightscout.androidaps.database.transactions.UpdateNsIdTemporaryTargetTransaction;
|
||||
import info.nightscout.androidaps.database.transactions.UpdateNsIdTherapyEventTransaction;
|
||||
import info.nightscout.androidaps.db.DbRequest;
|
||||
import info.nightscout.androidaps.events.EventAppExit;
|
||||
import info.nightscout.androidaps.events.EventConfigBuilderChange;
|
||||
|
@ -55,10 +44,12 @@ import info.nightscout.androidaps.logging.AAPSLogger;
|
|||
import info.nightscout.androidaps.logging.LTag;
|
||||
import info.nightscout.androidaps.plugins.bus.RxBusWrapper;
|
||||
import info.nightscout.androidaps.plugins.general.food.FoodPlugin;
|
||||
import info.nightscout.androidaps.plugins.general.nsclient.NSClientAddAckWorker;
|
||||
import info.nightscout.androidaps.plugins.general.nsclient.NSClientAddUpdateWorker;
|
||||
import info.nightscout.androidaps.plugins.general.nsclient.NSClientMbgWorker;
|
||||
import info.nightscout.androidaps.plugins.general.nsclient.NSClientPlugin;
|
||||
import info.nightscout.androidaps.plugins.general.nsclient.NSClientRemoveWorker;
|
||||
import info.nightscout.androidaps.plugins.general.nsclient.NSClientUpdateRemoveAckWorker;
|
||||
import info.nightscout.androidaps.plugins.general.nsclient.acks.NSAddAck;
|
||||
import info.nightscout.androidaps.plugins.general.nsclient.acks.NSAuthAck;
|
||||
import info.nightscout.androidaps.plugins.general.nsclient.acks.NSUpdateAck;
|
||||
|
@ -230,166 +221,11 @@ public class NSClientService extends DaggerService {
|
|||
public void processAddAck(NSAddAck ack) {
|
||||
lastAckTime = dateUtil.now();
|
||||
// new room way
|
||||
if (ack.getOriginalObject() instanceof DataSyncSelector.PairTemporaryTarget) {
|
||||
DataSyncSelector.PairTemporaryTarget pair = (DataSyncSelector.PairTemporaryTarget) ack.getOriginalObject();
|
||||
pair.getValue().getInterfaceIDs().setNightscoutId(ack.getId());
|
||||
dataWorker.enqueue(
|
||||
new OneTimeWorkRequest.Builder(NSClientAddAckWorker.class)
|
||||
.setInputData(dataWorker.storeInputData(ack, null))
|
||||
.build());
|
||||
|
||||
disposable.add(repository.runTransactionForResult(new UpdateNsIdTemporaryTargetTransaction((pair.getValue())))
|
||||
.observeOn(aapsSchedulers.getIo())
|
||||
.subscribe(
|
||||
result -> aapsLogger.debug(LTag.DATABASE, "Updated ns id of temporary target " + pair.getValue()),
|
||||
error -> aapsLogger.error(LTag.DATABASE, "Updated ns id of temporary target failed")
|
||||
));
|
||||
dataSyncSelector.confirmLastTempTargetsIdIfGreater(pair.getUpdateRecordId());
|
||||
rxBus.send(new EventNSClientNewLog("DBADD", "Acked TemporaryTarget " + pair.getValue().getInterfaceIDs().getNightscoutId()));
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedTempTargetsCompat();
|
||||
return;
|
||||
}
|
||||
if (ack.getOriginalObject() instanceof DataSyncSelector.PairGlucoseValue) {
|
||||
DataSyncSelector.PairGlucoseValue pair = (DataSyncSelector.PairGlucoseValue) ack.getOriginalObject();
|
||||
pair.getValue().getInterfaceIDs().setNightscoutId(ack.getId());
|
||||
|
||||
disposable.add(repository.runTransactionForResult(new UpdateNsIdGlucoseValueTransaction(pair.getValue()))
|
||||
.observeOn(aapsSchedulers.getIo())
|
||||
.subscribe(
|
||||
result -> aapsLogger.debug(LTag.DATABASE, "Updated ns id of glucose value " + pair.getValue()),
|
||||
error -> aapsLogger.error(LTag.DATABASE, "Updated ns id of glucose value failed", error)
|
||||
));
|
||||
dataSyncSelector.confirmLastGlucoseValueIdIfGreater(pair.getUpdateRecordId());
|
||||
rxBus.send(new EventNSClientNewLog("DBADD", "Acked GlucoseValue " + pair.getValue().getInterfaceIDs().getNightscoutId()));
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedGlucoseValuesCompat();
|
||||
return;
|
||||
}
|
||||
if (ack.getOriginalObject() instanceof DataSyncSelector.PairFood) {
|
||||
DataSyncSelector.PairFood pair = (DataSyncSelector.PairFood) ack.getOriginalObject();
|
||||
pair.getValue().getInterfaceIDs().setNightscoutId(ack.getId());
|
||||
|
||||
disposable.add(repository.runTransactionForResult(new UpdateNsIdFoodTransaction(pair.getValue()))
|
||||
.observeOn(aapsSchedulers.getIo())
|
||||
.subscribe(
|
||||
result -> aapsLogger.debug(LTag.DATABASE, "Updated ns id of food " + pair.getValue()),
|
||||
error -> aapsLogger.error(LTag.DATABASE, "Updated ns id of food failed", error)
|
||||
));
|
||||
dataSyncSelector.confirmLastFoodIdIfGreater(pair.getUpdateRecordId());
|
||||
rxBus.send(new EventNSClientNewLog("DBADD", "Acked Food " + pair.getValue().getInterfaceIDs().getNightscoutId()));
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedFoodsCompat();
|
||||
return;
|
||||
}
|
||||
if (ack.getOriginalObject() instanceof DataSyncSelector.PairTherapyEvent) {
|
||||
DataSyncSelector.PairTherapyEvent pair = (DataSyncSelector.PairTherapyEvent) ack.getOriginalObject();
|
||||
pair.getValue().getInterfaceIDs().setNightscoutId(ack.getId());
|
||||
|
||||
disposable.add(repository.runTransactionForResult(new UpdateNsIdTherapyEventTransaction(pair.getValue()))
|
||||
.observeOn(aapsSchedulers.getIo())
|
||||
.subscribe(
|
||||
result -> aapsLogger.debug(LTag.DATABASE, "Updated ns id of therapy event " + pair.getValue()),
|
||||
error -> aapsLogger.error(LTag.DATABASE, "Updated ns id of therapy event failed", error)
|
||||
));
|
||||
dataSyncSelector.confirmLastTherapyEventIdIfGreater(pair.getUpdateRecordId());
|
||||
rxBus.send(new EventNSClientNewLog("DBADD", "Acked TherapyEvent " + pair.getValue().getInterfaceIDs().getNightscoutId()));
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedTherapyEventsCompat();
|
||||
return;
|
||||
}
|
||||
if (ack.getOriginalObject() instanceof DataSyncSelector.PairBolus) {
|
||||
DataSyncSelector.PairBolus pair = (DataSyncSelector.PairBolus) ack.getOriginalObject();
|
||||
pair.getValue().getInterfaceIDs().setNightscoutId(ack.getId());
|
||||
|
||||
disposable.add(repository.runTransactionForResult(new UpdateNsIdBolusTransaction(pair.getValue()))
|
||||
.observeOn(aapsSchedulers.getIo())
|
||||
.subscribe(
|
||||
result -> aapsLogger.debug(LTag.DATABASE, "Updated ns id of bolus " + pair.getValue()),
|
||||
error -> aapsLogger.error(LTag.DATABASE, "Updated ns id of bolus failed", error)
|
||||
));
|
||||
dataSyncSelector.confirmLastBolusIdIfGreater(pair.getUpdateRecordId());
|
||||
rxBus.send(new EventNSClientNewLog("DBADD", "Acked Bolus " + pair.getValue().getInterfaceIDs().getNightscoutId()));
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedBolusesCompat();
|
||||
return;
|
||||
}
|
||||
if (ack.getOriginalObject() instanceof DataSyncSelector.PairCarbs) {
|
||||
DataSyncSelector.PairCarbs pair = (DataSyncSelector.PairCarbs) ack.getOriginalObject();
|
||||
pair.getValue().getInterfaceIDs().setNightscoutId(ack.getId());
|
||||
|
||||
disposable.add(repository.runTransactionForResult(new UpdateNsIdCarbsTransaction(pair.getValue()))
|
||||
.observeOn(aapsSchedulers.getIo())
|
||||
.subscribe(
|
||||
result -> aapsLogger.debug(LTag.DATABASE, "Updated ns id of carbs " + pair.getValue()),
|
||||
error -> aapsLogger.error(LTag.DATABASE, "Updated ns id of carbs failed", error)
|
||||
));
|
||||
dataSyncSelector.confirmLastCarbsIdIfGreater(pair.getUpdateRecordId());
|
||||
rxBus.send(new EventNSClientNewLog("DBADD", "Acked Carbs" + pair.getValue().getInterfaceIDs().getNightscoutId()));
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedCarbsCompat();
|
||||
return;
|
||||
}
|
||||
if (ack.getOriginalObject() instanceof DataSyncSelector.PairBolusCalculatorResult) {
|
||||
DataSyncSelector.PairBolusCalculatorResult pair = (DataSyncSelector.PairBolusCalculatorResult) ack.getOriginalObject();
|
||||
pair.getValue().getInterfaceIDs().setNightscoutId(ack.getId());
|
||||
|
||||
disposable.add(repository.runTransactionForResult(new UpdateNsIdBolusCalculatorResultTransaction(pair.getValue()))
|
||||
.observeOn(aapsSchedulers.getIo())
|
||||
.subscribe(
|
||||
result -> aapsLogger.debug(LTag.DATABASE, "Updated ns id of BolusCalculatorResult " + pair.getValue()),
|
||||
error -> aapsLogger.error(LTag.DATABASE, "Updated ns id of BolusCalculatorResult failed", error)
|
||||
));
|
||||
dataSyncSelector.confirmLastBolusCalculatorResultsIdIfGreater(pair.getUpdateRecordId());
|
||||
rxBus.send(new EventNSClientNewLog("DBADD", "Acked BolusCalculatorResult" + pair.getValue().getInterfaceIDs().getNightscoutId()));
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedBolusCalculatorResultsCompat();
|
||||
return;
|
||||
}
|
||||
if (ack.getOriginalObject() instanceof DataSyncSelector.PairTemporaryBasal) {
|
||||
DataSyncSelector.PairTemporaryBasal pair = (DataSyncSelector.PairTemporaryBasal) ack.getOriginalObject();
|
||||
pair.getValue().getInterfaceIDs().setNightscoutId(ack.getId());
|
||||
|
||||
disposable.add(repository.runTransactionForResult(new UpdateNsIdTemporaryBasalTransaction(pair.getValue()))
|
||||
.observeOn(aapsSchedulers.getIo())
|
||||
.subscribe(
|
||||
result -> aapsLogger.debug(LTag.DATABASE, "Updated ns id of TemporaryBasal " + pair.getValue()),
|
||||
error -> aapsLogger.error(LTag.DATABASE, "Updated ns id of TemporaryBasal failed", error)
|
||||
));
|
||||
dataSyncSelector.confirmLastTemporaryBasalIdIfGreater(pair.getUpdateRecordId());
|
||||
rxBus.send(new EventNSClientNewLog("DBADD", "Acked TemporaryBasal" + pair.getValue().getInterfaceIDs().getNightscoutId()));
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedTemporaryBasalsCompat();
|
||||
return;
|
||||
}
|
||||
if (ack.getOriginalObject() instanceof DataSyncSelector.PairExtendedBolus) {
|
||||
DataSyncSelector.PairExtendedBolus pair = (DataSyncSelector.PairExtendedBolus) ack.getOriginalObject();
|
||||
pair.getValue().getInterfaceIDs().setNightscoutId(ack.getId());
|
||||
|
||||
disposable.add(repository.runTransactionForResult(new UpdateNsIdExtendedBolusTransaction(pair.getValue()))
|
||||
.observeOn(aapsSchedulers.getIo())
|
||||
.subscribe(
|
||||
result -> aapsLogger.debug(LTag.DATABASE, "Updated ns id of ExtendedBolus " + pair.getValue()),
|
||||
error -> aapsLogger.error(LTag.DATABASE, "Updated ns id of ExtendedBolus failed", error)
|
||||
));
|
||||
dataSyncSelector.confirmLastExtendedBolusIdIfGreater(pair.getUpdateRecordId());
|
||||
rxBus.send(new EventNSClientNewLog("DBADD", "Acked ExtendedBolus" + pair.getValue().getInterfaceIDs().getNightscoutId()));
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedTemporaryBasalsCompat();
|
||||
return;
|
||||
}
|
||||
if (ack.getOriginalObject() instanceof DeviceStatus) {
|
||||
DeviceStatus deviceStatus = (DeviceStatus) ack.getOriginalObject();
|
||||
deviceStatus.getInterfaceIDs().setNightscoutId(ack.getId());
|
||||
|
||||
disposable.add(repository.runTransactionForResult(new UpdateNsIdDeviceStatusTransaction(deviceStatus))
|
||||
.observeOn(aapsSchedulers.getIo())
|
||||
.subscribe(
|
||||
result -> aapsLogger.debug(LTag.DATABASE, "Updated ns id of DeviceStatus " + deviceStatus),
|
||||
error -> aapsLogger.error(LTag.DATABASE, "Updated ns id of DeviceStatus failed", error)
|
||||
));
|
||||
dataSyncSelector.confirmLastDeviceStatusIdIfGreater(deviceStatus.getId());
|
||||
rxBus.send(new EventNSClientNewLog("DBADD", "Acked DeviceStatus" + deviceStatus.getInterfaceIDs().getNightscoutId()));
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedBolusCalculatorResultsCompat();
|
||||
return;
|
||||
}
|
||||
// old way
|
||||
if (ack.nsClientID != null) {
|
||||
uploadQueue.removeByNsClientIdIfExists(ack.json);
|
||||
|
@ -402,78 +238,11 @@ public class NSClientService extends DaggerService {
|
|||
public void processUpdateAck(NSUpdateAck ack) {
|
||||
lastAckTime = dateUtil.now();
|
||||
// new room way
|
||||
if (ack.getOriginalObject() instanceof DataSyncSelector.PairTemporaryTarget) {
|
||||
DataSyncSelector.PairTemporaryTarget pair = (DataSyncSelector.PairTemporaryTarget) ack.getOriginalObject();
|
||||
dataSyncSelector.confirmLastTempTargetsIdIfGreater(pair.getUpdateRecordId());
|
||||
rxBus.send(new EventNSClientNewLog("DBUPDATE/DBREMOVE", "Acked TemporaryTarget" + ack.get_id()));
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedTempTargetsCompat();
|
||||
return;
|
||||
}
|
||||
if (ack.getOriginalObject() instanceof DataSyncSelector.PairGlucoseValue) {
|
||||
DataSyncSelector.PairGlucoseValue pair = (DataSyncSelector.PairGlucoseValue) ack.getOriginalObject();
|
||||
dataSyncSelector.confirmLastGlucoseValueIdIfGreater(pair.getUpdateRecordId());
|
||||
rxBus.send(new EventNSClientNewLog("DBUPDATE/DBREMOVE", "Acked GlucoseValue " + ack.get_id()));
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedGlucoseValuesCompat();
|
||||
return;
|
||||
}
|
||||
if (ack.getOriginalObject() instanceof DataSyncSelector.PairFood) {
|
||||
DataSyncSelector.PairFood pair = (DataSyncSelector.PairFood) ack.getOriginalObject();
|
||||
dataSyncSelector.confirmLastFoodIdIfGreater(pair.getUpdateRecordId());
|
||||
rxBus.send(new EventNSClientNewLog("DBUPDATE/DBREMOVE", "Acked Food " + ack.get_id()));
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedFoodsCompat();
|
||||
return;
|
||||
}
|
||||
if (ack.getOriginalObject() instanceof DataSyncSelector.PairTherapyEvent) {
|
||||
DataSyncSelector.PairTherapyEvent pair = (DataSyncSelector.PairTherapyEvent) ack.getOriginalObject();
|
||||
dataSyncSelector.confirmLastTherapyEventIdIfGreater(pair.getUpdateRecordId());
|
||||
rxBus.send(new EventNSClientNewLog("DBUPDATE/DBREMOVE", "Acked TherapyEvent " + ack.get_id()));
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedTherapyEventsCompat();
|
||||
return;
|
||||
}
|
||||
if (ack.getOriginalObject() instanceof DataSyncSelector.PairBolus) {
|
||||
DataSyncSelector.PairBolus pair = (DataSyncSelector.PairBolus) ack.getOriginalObject();
|
||||
dataSyncSelector.confirmLastBolusIdIfGreater(pair.getUpdateRecordId());
|
||||
rxBus.send(new EventNSClientNewLog("DBUPDATE/DBREMOVE", "Acked Bolus " + ack.get_id()));
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedBolusesCompat();
|
||||
return;
|
||||
}
|
||||
if (ack.getOriginalObject() instanceof DataSyncSelector.PairCarbs) {
|
||||
DataSyncSelector.PairCarbs pair = (DataSyncSelector.PairCarbs) ack.getOriginalObject();
|
||||
dataSyncSelector.confirmLastCarbsIdIfGreater(pair.getUpdateRecordId());
|
||||
rxBus.send(new EventNSClientNewLog("DBUPDATE/DBREMOVE", "Acked Carbs " + ack.get_id()));
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedCarbsCompat();
|
||||
return;
|
||||
}
|
||||
if (ack.getOriginalObject() instanceof DataSyncSelector.PairBolusCalculatorResult) {
|
||||
DataSyncSelector.PairBolusCalculatorResult pair = (DataSyncSelector.PairBolusCalculatorResult) ack.getOriginalObject();
|
||||
dataSyncSelector.confirmLastBolusCalculatorResultsIdIfGreater(pair.getUpdateRecordId());
|
||||
rxBus.send(new EventNSClientNewLog("DBUPDATE/DBREMOVE", "Acked BolusCalculatorResult " + ack.get_id()));
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedBolusCalculatorResultsCompat();
|
||||
return;
|
||||
}
|
||||
if (ack.getOriginalObject() instanceof DataSyncSelector.PairTemporaryBasal) {
|
||||
DataSyncSelector.PairTemporaryBasal pair = (DataSyncSelector.PairTemporaryBasal) ack.getOriginalObject();
|
||||
dataSyncSelector.confirmLastTemporaryBasalIdIfGreater(pair.getUpdateRecordId());
|
||||
rxBus.send(new EventNSClientNewLog("DBUPDATE/DBREMOVE", "Acked TemporaryBasal " + ack.get_id()));
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedTemporaryBasalsCompat();
|
||||
return;
|
||||
}
|
||||
if (ack.getOriginalObject() instanceof DataSyncSelector.PairExtendedBolus) {
|
||||
DataSyncSelector.PairExtendedBolus pair = (DataSyncSelector.PairExtendedBolus) ack.getOriginalObject();
|
||||
dataSyncSelector.confirmLastExtendedBolusIdIfGreater(pair.getUpdateRecordId());
|
||||
rxBus.send(new EventNSClientNewLog("DBUPDATE/DBREMOVE", "Acked ExtendedBolus " + ack.get_id()));
|
||||
// Send new if waiting
|
||||
dataSyncSelector.processChangedExtendedBolusesCompat();
|
||||
return;
|
||||
}
|
||||
dataWorker.enqueue(
|
||||
new OneTimeWorkRequest.Builder(NSClientUpdateRemoveAckWorker.class)
|
||||
.setInputData(dataWorker.storeInputData(ack, null))
|
||||
.build());
|
||||
|
||||
// old way
|
||||
if (ack.getResult()) {
|
||||
uploadQueue.removeByMongoId(ack.getAction(), ack.get_id());
|
||||
|
|
|
@ -24,7 +24,7 @@ import androidx.recyclerview.widget.LinearLayoutManager
|
|||
import com.jjoe64.graphview.GraphView
|
||||
import dagger.android.HasAndroidInjector
|
||||
import dagger.android.support.DaggerFragment
|
||||
import info.nightscout.androidaps.Config
|
||||
import info.nightscout.androidaps.interfaces.Config
|
||||
import info.nightscout.androidaps.Constants
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.data.Profile
|
||||
|
@ -44,7 +44,6 @@ import info.nightscout.androidaps.logging.UserEntryLogger
|
|||
import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin
|
||||
import info.nightscout.androidaps.plugins.aps.loop.events.EventNewOpenLoopNotification
|
||||
import info.nightscout.androidaps.plugins.bus.RxBusWrapper
|
||||
import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin
|
||||
import info.nightscout.androidaps.plugins.configBuilder.ConstraintChecker
|
||||
import info.nightscout.androidaps.plugins.general.nsclient.data.NSDeviceStatus
|
||||
import info.nightscout.androidaps.plugins.general.overview.activities.QuickWizardListActivity
|
||||
|
@ -96,8 +95,7 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
|
|||
@Inject lateinit var statusLightHandler: StatusLightHandler
|
||||
@Inject lateinit var nsDeviceStatus: NSDeviceStatus
|
||||
@Inject lateinit var loopPlugin: LoopPlugin
|
||||
@Inject lateinit var configBuilderPlugin: ConfigBuilderPlugin
|
||||
@Inject lateinit var activePlugin: ActivePluginProvider
|
||||
@Inject lateinit var activePlugin: ActivePlugin
|
||||
@Inject lateinit var treatmentsPlugin: TreatmentsPlugin
|
||||
@Inject lateinit var iobCobCalculator: IobCobCalculator
|
||||
@Inject lateinit var dexcomPlugin: DexcomPlugin
|
||||
|
@ -817,7 +815,7 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
|
|||
} ?: ""
|
||||
}
|
||||
|
||||
private fun updateGraph(lastRun: LoopInterface.LastRun?, predictionsAvailable: Boolean, lowLine: Double, highLine: Double, pump: PumpInterface, profile: Profile) {
|
||||
private fun updateGraph(lastRun: LoopInterface.LastRun?, predictionsAvailable: Boolean, lowLine: Double, highLine: Double, pump: Pump, profile: Profile) {
|
||||
viewLifecycleOwner.lifecycleScope.launch(Dispatchers.Main) {
|
||||
if (_binding == null) return@launch
|
||||
val menuChartSettings = overviewMenus.setting
|
||||
|
@ -903,8 +901,8 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
|
|||
menuChartSettings[g + 1][OverviewMenus.CharType.IOB.ordinal] -> useIobForScale = true
|
||||
menuChartSettings[g + 1][OverviewMenus.CharType.COB.ordinal] -> useCobForScale = true
|
||||
menuChartSettings[g + 1][OverviewMenus.CharType.DEV.ordinal] -> useDevForScale = true
|
||||
menuChartSettings[g + 1][OverviewMenus.CharType.SEN.ordinal] -> useRatioForScale = true
|
||||
menuChartSettings[g + 1][OverviewMenus.CharType.BGI.ordinal] -> useBGIForScale = true
|
||||
menuChartSettings[g + 1][OverviewMenus.CharType.SEN.ordinal] -> useRatioForScale = true
|
||||
menuChartSettings[g + 1][OverviewMenus.CharType.DEVSLOPE.ordinal] -> useDSForScale = true
|
||||
}
|
||||
val alignIobScale = menuChartSettings[g + 1][OverviewMenus.CharType.ABS.ordinal] && menuChartSettings[g + 1][OverviewMenus.CharType.IOB.ordinal]
|
||||
|
@ -914,8 +912,8 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
|
|||
if (menuChartSettings[g + 1][OverviewMenus.CharType.IOB.ordinal]) secondGraphData.addIob(fromTime, now, useIobForScale, 1.0, menuChartSettings[g + 1][OverviewMenus.CharType.PRE.ordinal], alignIobScale)
|
||||
if (menuChartSettings[g + 1][OverviewMenus.CharType.COB.ordinal]) secondGraphData.addCob(fromTime, now, useCobForScale, if (useCobForScale) 1.0 else 0.5)
|
||||
if (menuChartSettings[g + 1][OverviewMenus.CharType.DEV.ordinal]) secondGraphData.addDeviations(fromTime, now, useDevForScale, 1.0, alignDevBgiScale)
|
||||
if (menuChartSettings[g + 1][OverviewMenus.CharType.SEN.ordinal]) secondGraphData.addRatio(fromTime, now, useRatioForScale, 1.0)
|
||||
if (menuChartSettings[g + 1][OverviewMenus.CharType.BGI.ordinal]) secondGraphData.addMinusBGI(fromTime, endTime, useBGIForScale, if (alignDevBgiScale) 1.0 else 0.8, alignDevBgiScale)
|
||||
if (menuChartSettings[g + 1][OverviewMenus.CharType.SEN.ordinal]) secondGraphData.addRatio(fromTime, now, useRatioForScale, if (useRatioForScale) 1.0 else 0.8)
|
||||
if (menuChartSettings[g + 1][OverviewMenus.CharType.DEVSLOPE.ordinal] && buildHelper.isDev()) secondGraphData.addDeviationSlope(fromTime, now, useDSForScale, 1.0)
|
||||
|
||||
// set manual x bounds to have nice steps
|
||||
|
@ -935,8 +933,8 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
|
|||
menuChartSettings[g + 1][OverviewMenus.CharType.IOB.ordinal] ||
|
||||
menuChartSettings[g + 1][OverviewMenus.CharType.COB.ordinal] ||
|
||||
menuChartSettings[g + 1][OverviewMenus.CharType.DEV.ordinal] ||
|
||||
menuChartSettings[g + 1][OverviewMenus.CharType.SEN.ordinal] ||
|
||||
menuChartSettings[g + 1][OverviewMenus.CharType.BGI.ordinal] ||
|
||||
menuChartSettings[g + 1][OverviewMenus.CharType.SEN.ordinal] ||
|
||||
menuChartSettings[g + 1][OverviewMenus.CharType.DEVSLOPE.ordinal]
|
||||
).toVisibility()
|
||||
secondaryGraphsData[g].performUpdate()
|
||||
|
|
|
@ -9,7 +9,7 @@ import androidx.annotation.ColorRes
|
|||
import androidx.annotation.StringRes
|
||||
import androidx.appcompat.widget.PopupMenu
|
||||
import com.google.gson.Gson
|
||||
import info.nightscout.androidaps.Config
|
||||
import info.nightscout.androidaps.interfaces.Config
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.events.EventRefreshOverview
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
|
@ -38,10 +38,10 @@ class OverviewMenus @Inject constructor(
|
|||
ABS(R.string.overview_show_absinsulin, R.color.iob, primary = false, secondary = true,shortnameId = R.string.abs_insulin_shortname),
|
||||
IOB(R.string.overview_show_iob, R.color.iob, primary = false, secondary = true,shortnameId = R.string.iob),
|
||||
COB(R.string.overview_show_cob, R.color.cob, primary = false, secondary = true,shortnameId = R.string.cob),
|
||||
DEV(R.string.overview_show_deviations, R.color.deviations, primary = false, secondary = true,shortnameId = R.string.deviation_shortname),
|
||||
DEV(R.string.overview_show_deviations, R.color.bgi, primary = false, secondary = true,shortnameId = R.string.deviation_shortname),
|
||||
BGI(R.string.overview_show_bgi, R.color.bgi, primary = false, secondary = true,shortnameId = R.string.bgi_shortname),
|
||||
SEN(R.string.overview_show_sensitivity, R.color.ratio, primary = false, secondary = true,shortnameId = R.string.sensitivity_shortname),
|
||||
ACT(R.string.overview_show_activity, R.color.activity, primary = true, secondary = false,shortnameId = R.string.activity_shortname),
|
||||
BGI(R.string.overview_show_bgi, R.color.bgi, primary = false, secondary = true,shortnameId = R.string.bgi_shortname),
|
||||
DEVSLOPE(R.string.overview_show_deviationslope, R.color.devslopepos, primary = false, secondary = true,shortnameId = R.string.devslope_shortname)
|
||||
}
|
||||
|
||||
|
|
|
@ -3,11 +3,11 @@ package info.nightscout.androidaps.plugins.general.overview
|
|||
import androidx.preference.PreferenceFragmentCompat
|
||||
import androidx.preference.SwitchPreference
|
||||
import dagger.android.HasAndroidInjector
|
||||
import info.nightscout.androidaps.Config
|
||||
import info.nightscout.androidaps.interfaces.Config
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.events.EventRefreshOverview
|
||||
import info.nightscout.androidaps.extensions.*
|
||||
import info.nightscout.androidaps.interfaces.OverviewInterface
|
||||
import info.nightscout.androidaps.interfaces.Overview
|
||||
import info.nightscout.androidaps.interfaces.PluginBase
|
||||
import info.nightscout.androidaps.interfaces.PluginDescription
|
||||
import info.nightscout.androidaps.interfaces.PluginType
|
||||
|
@ -17,7 +17,6 @@ import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNo
|
|||
import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification
|
||||
import info.nightscout.androidaps.plugins.general.overview.notifications.NotificationStore
|
||||
import info.nightscout.androidaps.utils.FabricPrivacy
|
||||
import info.nightscout.androidaps.utils.extensions.*
|
||||
import info.nightscout.androidaps.utils.resources.ResourceHelper
|
||||
import info.nightscout.androidaps.utils.rx.AapsSchedulers
|
||||
import info.nightscout.androidaps.utils.sharedPreferences.SP
|
||||
|
@ -49,7 +48,7 @@ class OverviewPlugin @Inject constructor(
|
|||
.preferencesId(R.xml.pref_overview)
|
||||
.description(R.string.description_overview),
|
||||
aapsLogger, resourceHelper, injector
|
||||
), OverviewInterface {
|
||||
), Overview {
|
||||
|
||||
private var disposable: CompositeDisposable = CompositeDisposable()
|
||||
|
||||
|
|
|
@ -3,12 +3,12 @@ package info.nightscout.androidaps.plugins.general.overview
|
|||
import android.graphics.Color
|
||||
import android.widget.TextView
|
||||
import androidx.annotation.StringRes
|
||||
import info.nightscout.androidaps.Config
|
||||
import info.nightscout.androidaps.interfaces.Config
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.database.AppRepository
|
||||
import info.nightscout.androidaps.database.ValueWrapper
|
||||
import info.nightscout.androidaps.database.entities.TherapyEvent
|
||||
import info.nightscout.androidaps.interfaces.ActivePluginProvider
|
||||
import info.nightscout.androidaps.interfaces.ActivePlugin
|
||||
import info.nightscout.androidaps.plugins.pump.common.defs.PumpType
|
||||
import info.nightscout.androidaps.plugins.pump.omnipod.eros.OmnipodErosPumpPlugin
|
||||
import info.nightscout.androidaps.plugins.pump.omnipod.eros.driver.definition.OmnipodConstants
|
||||
|
@ -26,7 +26,7 @@ class StatusLightHandler @Inject constructor(
|
|||
private val resourceHelper: ResourceHelper,
|
||||
private val sp: SP,
|
||||
private val dateUtil: DateUtil,
|
||||
private val activePlugin: ActivePluginProvider,
|
||||
private val activePlugin: ActivePlugin,
|
||||
private val warnColors: WarnColors,
|
||||
private val config: Config,
|
||||
private val repository: AppRepository
|
||||
|
|
|
@ -43,7 +43,7 @@ class GraphData(
|
|||
@Inject lateinit var aapsLogger: AAPSLogger
|
||||
@Inject lateinit var profileFunction: ProfileFunction
|
||||
@Inject lateinit var resourceHelper: ResourceHelper
|
||||
@Inject lateinit var activePlugin: ActivePluginProvider
|
||||
@Inject lateinit var activePlugin: ActivePlugin
|
||||
@Inject lateinit var databaseHelper: DatabaseHelperInterface
|
||||
@Inject lateinit var repository: AppRepository
|
||||
@Inject lateinit var dateUtil: DateUtil
|
||||
|
|
|
@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.general.overview.graphExtensions
|
|||
import android.graphics.Color
|
||||
import info.nightscout.androidaps.core.R
|
||||
import info.nightscout.androidaps.database.entities.Bolus
|
||||
import info.nightscout.androidaps.interfaces.ActivePluginProvider
|
||||
import info.nightscout.androidaps.interfaces.ActivePlugin
|
||||
import info.nightscout.androidaps.utils.DecimalFormatter
|
||||
import info.nightscout.androidaps.utils.DefaultValueHelper
|
||||
import info.nightscout.androidaps.utils.resources.ResourceHelper
|
||||
|
@ -12,7 +12,7 @@ import javax.inject.Inject
|
|||
class BolusDataPoint @Inject constructor(
|
||||
val data: Bolus,
|
||||
private val resourceHelper: ResourceHelper,
|
||||
private val activePlugin: ActivePluginProvider,
|
||||
private val activePlugin: ActivePlugin,
|
||||
private val defaultValueHelper: DefaultValueHelper
|
||||
) : DataPointWithLabelInterface {
|
||||
|
||||
|
|
|
@ -14,14 +14,14 @@ import androidx.core.app.NotificationCompat
|
|||
import androidx.recyclerview.widget.RecyclerView
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.databinding.OverviewNotificationItemBinding
|
||||
import info.nightscout.androidaps.interfaces.NotificationHolderInterface
|
||||
import info.nightscout.androidaps.interfaces.IconsProvider
|
||||
import info.nightscout.androidaps.interfaces.NotificationHolder
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
import info.nightscout.androidaps.logging.LTag
|
||||
import info.nightscout.androidaps.plugins.bus.RxBusWrapper
|
||||
import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification
|
||||
import info.nightscout.androidaps.services.AlarmSoundServiceHelper
|
||||
import info.nightscout.androidaps.utils.DateUtil
|
||||
import info.nightscout.androidaps.utils.resources.IconsProvider
|
||||
import info.nightscout.androidaps.utils.resources.ResourceHelper
|
||||
import info.nightscout.androidaps.utils.sharedPreferences.SP
|
||||
import java.util.*
|
||||
|
@ -38,7 +38,7 @@ class NotificationStore @Inject constructor(
|
|||
private val iconsProvider: IconsProvider,
|
||||
private val alarmSoundServiceHelper: AlarmSoundServiceHelper,
|
||||
private val dateUtil: DateUtil,
|
||||
private val notificationHolder: NotificationHolderInterface
|
||||
private val notificationHolder: NotificationHolder
|
||||
) {
|
||||
|
||||
private var store: MutableList<Notification> = ArrayList()
|
||||
|
|
|
@ -7,11 +7,11 @@ import android.os.Binder
|
|||
import android.os.IBinder
|
||||
import dagger.android.DaggerService
|
||||
import info.nightscout.androidaps.events.EventAppExit
|
||||
import info.nightscout.androidaps.interfaces.NotificationHolder
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
import info.nightscout.androidaps.logging.LTag
|
||||
import info.nightscout.androidaps.plugins.bus.RxBusWrapper
|
||||
import info.nightscout.androidaps.utils.FabricPrivacy
|
||||
import info.nightscout.androidaps.utils.androidNotification.NotificationHolder
|
||||
import info.nightscout.androidaps.utils.rx.AapsSchedulers
|
||||
import io.reactivex.disposables.CompositeDisposable
|
||||
import javax.inject.Inject
|
||||
|
|
|
@ -5,7 +5,7 @@ import android.content.Context
|
|||
import android.content.Intent
|
||||
import android.content.ServiceConnection
|
||||
import android.os.IBinder
|
||||
import info.nightscout.androidaps.interfaces.NotificationHolderInterface
|
||||
import info.nightscout.androidaps.interfaces.NotificationHolder
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
|
||||
|
@ -21,7 +21,7 @@ import javax.inject.Singleton
|
|||
*/
|
||||
@Singleton
|
||||
class DummyServiceHelper @Inject constructor(
|
||||
private val notificationHolder: NotificationHolderInterface
|
||||
private val notificationHolder: NotificationHolder
|
||||
) {
|
||||
|
||||
fun startService(context: Context) {
|
||||
|
|
|
@ -19,7 +19,6 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatusProv
|
|||
import info.nightscout.androidaps.utils.DecimalFormatter
|
||||
import info.nightscout.androidaps.utils.FabricPrivacy
|
||||
import info.nightscout.androidaps.extensions.toStringShort
|
||||
import info.nightscout.androidaps.utils.resources.IconsProvider
|
||||
import info.nightscout.androidaps.utils.resources.ResourceHelper
|
||||
import info.nightscout.androidaps.utils.rx.AapsSchedulers
|
||||
import info.nightscout.androidaps.extensions.valueToUnitsString
|
||||
|
@ -36,11 +35,11 @@ class PersistentNotificationPlugin @Inject constructor(
|
|||
private val aapsSchedulers: AapsSchedulers,
|
||||
private val profileFunction: ProfileFunction,
|
||||
private val fabricPrivacy: FabricPrivacy,
|
||||
private val activePlugins: ActivePluginProvider,
|
||||
private val activePlugins: ActivePlugin,
|
||||
private val iobCobCalculator: IobCobCalculator,
|
||||
private val rxBus: RxBusWrapper,
|
||||
private val context: Context,
|
||||
private val notificationHolder: NotificationHolderInterface,
|
||||
private val notificationHolder: NotificationHolder,
|
||||
private val dummyServiceHelper: DummyServiceHelper,
|
||||
private val iconsProvider: IconsProvider,
|
||||
private val glucoseStatusProvider: GlucoseStatusProvider
|
||||
|
|
|
@ -11,7 +11,7 @@ import androidx.work.Worker
|
|||
import androidx.work.WorkerParameters
|
||||
import androidx.work.workDataOf
|
||||
import dagger.android.HasAndroidInjector
|
||||
import info.nightscout.androidaps.Config
|
||||
import info.nightscout.androidaps.interfaces.Config
|
||||
import info.nightscout.androidaps.Constants
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.data.DetailedBolusInfo
|
||||
|
@ -70,7 +70,7 @@ class SmsCommunicatorPlugin @Inject constructor(
|
|||
private val rxBus: RxBusWrapper,
|
||||
private val profileFunction: ProfileFunction,
|
||||
private val fabricPrivacy: FabricPrivacy,
|
||||
private val activePlugin: ActivePluginProvider,
|
||||
private val activePlugin: ActivePlugin,
|
||||
private val commandQueue: CommandQueueProvider,
|
||||
private val loopPlugin: LoopPlugin,
|
||||
private val iobCobCalculator: IobCobCalculator,
|
||||
|
@ -90,7 +90,7 @@ class SmsCommunicatorPlugin @Inject constructor(
|
|||
.preferencesId(R.xml.pref_smscommunicator)
|
||||
.description(R.string.description_sms_communicator),
|
||||
aapsLogger, resourceHelper, injector
|
||||
), SmsCommunicatorInterface {
|
||||
), SmsCommunicator {
|
||||
|
||||
private val disposable = CompositeDisposable()
|
||||
var allowedNumbers: MutableList<String> = ArrayList()
|
||||
|
@ -545,7 +545,7 @@ class SmsCommunicatorPlugin @Inject constructor(
|
|||
}
|
||||
|
||||
private fun processPROFILE(divided: Array<String>, receivedSms: Sms) { // load profiles
|
||||
val anInterface = activePlugin.activeProfileInterface
|
||||
val anInterface = activePlugin.activeProfileSource
|
||||
val store = anInterface.profile
|
||||
if (store == null) {
|
||||
sendSMS(Sms(receivedSms.phoneNumber, resourceHelper.gs(R.string.notconfigured)))
|
||||
|
|
|
@ -5,7 +5,7 @@ import android.os.PowerManager
|
|||
import android.os.SystemClock
|
||||
import info.nightscout.androidaps.BuildConfig
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.interfaces.ActivePluginProvider
|
||||
import info.nightscout.androidaps.interfaces.ActivePlugin
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
import info.nightscout.androidaps.logging.LTag
|
||||
import info.nightscout.androidaps.plugins.bus.RxBusWrapper
|
||||
|
@ -37,7 +37,7 @@ class TidepoolUploader @Inject constructor(
|
|||
private val resourceHelper: ResourceHelper,
|
||||
private val sp: SP,
|
||||
private val uploadChunk: UploadChunk,
|
||||
private val activePlugin: ActivePluginProvider,
|
||||
private val activePlugin: ActivePlugin,
|
||||
private val dateUtil: DateUtil
|
||||
) {
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ import info.nightscout.androidaps.R
|
|||
import info.nightscout.androidaps.database.AppRepository
|
||||
import info.nightscout.androidaps.database.entities.TemporaryBasal
|
||||
import info.nightscout.androidaps.db.ProfileSwitch
|
||||
import info.nightscout.androidaps.interfaces.ActivePluginProvider
|
||||
import info.nightscout.androidaps.interfaces.ActivePlugin
|
||||
import info.nightscout.androidaps.interfaces.DatabaseHelperInterface
|
||||
import info.nightscout.androidaps.interfaces.ProfileFunction
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
|
@ -28,7 +28,7 @@ class UploadChunk @Inject constructor(
|
|||
private val rxBus: RxBusWrapper,
|
||||
private val aapsLogger: AAPSLogger,
|
||||
private val profileFunction: ProfileFunction,
|
||||
private val activePlugin: ActivePluginProvider,
|
||||
private val activePlugin: ActivePlugin,
|
||||
private val databaseHelper: DatabaseHelperInterface,
|
||||
private val repository: AppRepository,
|
||||
private val dateUtil: DateUtil
|
||||
|
|
|
@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.general.wear
|
|||
import android.app.NotificationManager
|
||||
import android.content.Context
|
||||
import dagger.android.HasAndroidInjector
|
||||
import info.nightscout.androidaps.Config
|
||||
import info.nightscout.androidaps.interfaces.Config
|
||||
import info.nightscout.androidaps.Constants
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.dana.DanaPump
|
||||
|
@ -69,7 +69,7 @@ class ActionStringHandler @Inject constructor(
|
|||
private val wearPlugin: WearPlugin,
|
||||
private val fabricPrivacy: FabricPrivacy,
|
||||
private val commandQueue: CommandQueueProvider,
|
||||
private val activePlugin: ActivePluginProvider,
|
||||
private val activePlugin: ActivePlugin,
|
||||
private val iobCobCalculator: IobCobCalculator,
|
||||
private val localInsightPlugin: LocalInsightPlugin,
|
||||
private val danaRPlugin: DanaRPlugin,
|
||||
|
|
|
@ -29,7 +29,7 @@ import java.util.stream.Collectors;
|
|||
import javax.inject.Inject;
|
||||
|
||||
import dagger.android.AndroidInjection;
|
||||
import info.nightscout.androidaps.Config;
|
||||
import info.nightscout.androidaps.interfaces.Config;
|
||||
import info.nightscout.androidaps.Constants;
|
||||
import info.nightscout.androidaps.R;
|
||||
import info.nightscout.androidaps.data.IobTotal;
|
||||
|
@ -40,7 +40,7 @@ import info.nightscout.androidaps.database.entities.GlucoseValue;
|
|||
import info.nightscout.androidaps.database.entities.TemporaryBasal;
|
||||
import info.nightscout.androidaps.extensions.GlucoseValueExtensionKt;
|
||||
import info.nightscout.androidaps.extensions.TemporaryBasalExtensionKt;
|
||||
import info.nightscout.androidaps.interfaces.ActivePluginProvider;
|
||||
import info.nightscout.androidaps.interfaces.ActivePlugin;
|
||||
import info.nightscout.androidaps.interfaces.IobCobCalculator;
|
||||
import info.nightscout.androidaps.interfaces.PluginType;
|
||||
import info.nightscout.androidaps.interfaces.ProfileFunction;
|
||||
|
@ -72,7 +72,7 @@ public class WatchUpdaterService extends WearableListenerService implements Goog
|
|||
@Inject public ProfileFunction profileFunction;
|
||||
@Inject public DefaultValueHelper defaultValueHelper;
|
||||
@Inject public NSDeviceStatus nsDeviceStatus;
|
||||
@Inject public ActivePluginProvider activePlugin;
|
||||
@Inject public ActivePlugin activePlugin;
|
||||
@Inject public LoopPlugin loopPlugin;
|
||||
@Inject public IobCobCalculator iobCobCalculator;
|
||||
@Inject public AppRepository repository;
|
||||
|
|
|
@ -31,7 +31,7 @@ class StatusLinePlugin @Inject constructor(
|
|||
private val aapsSchedulers: AapsSchedulers,
|
||||
private val context: Context,
|
||||
private val fabricPrivacy: FabricPrivacy,
|
||||
private val activePlugin: ActivePluginProvider,
|
||||
private val activePlugin: ActivePlugin,
|
||||
private val loopPlugin: LoopPlugin,
|
||||
private val iobCobCalculator: IobCobCalculator,
|
||||
private val rxBus: RxBusWrapper,
|
||||
|
|
|
@ -7,7 +7,7 @@ import com.jjoe64.graphview.GraphView
|
|||
import com.jjoe64.graphview.series.DataPoint
|
||||
import com.jjoe64.graphview.series.LineGraphSeries
|
||||
import info.nightscout.androidaps.database.entities.Bolus
|
||||
import info.nightscout.androidaps.interfaces.InsulinInterface
|
||||
import info.nightscout.androidaps.interfaces.Insulin
|
||||
import info.nightscout.androidaps.utils.T
|
||||
import java.util.*
|
||||
import kotlin.math.floor
|
||||
|
@ -18,7 +18,7 @@ class ActivityGraph : GraphView {
|
|||
|
||||
constructor(context: Context, attrs: AttributeSet?) : super(context, attrs)
|
||||
|
||||
fun show(insulin: InsulinInterface) {
|
||||
fun show(insulin: Insulin) {
|
||||
removeAllSeries()
|
||||
mSecondScale = null
|
||||
val hours = floor(insulin.dia + 1).toLong()
|
||||
|
|
|
@ -7,13 +7,13 @@ import android.view.ViewGroup
|
|||
import dagger.android.support.DaggerFragment
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.databinding.InsulinFragmentBinding
|
||||
import info.nightscout.androidaps.interfaces.ActivePluginProvider
|
||||
import info.nightscout.androidaps.interfaces.ActivePlugin
|
||||
import info.nightscout.androidaps.utils.resources.ResourceHelper
|
||||
import javax.inject.Inject
|
||||
|
||||
class InsulinFragment : DaggerFragment() {
|
||||
|
||||
@Inject lateinit var activePlugin: ActivePluginProvider
|
||||
@Inject lateinit var activePlugin: ActivePlugin
|
||||
@Inject lateinit var resourceHelper: ResourceHelper
|
||||
|
||||
private var _binding: InsulinFragmentBinding? = null
|
||||
|
|
|
@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.insulin
|
|||
|
||||
import dagger.android.HasAndroidInjector
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.interfaces.InsulinInterface
|
||||
import info.nightscout.androidaps.interfaces.Insulin
|
||||
import info.nightscout.androidaps.interfaces.ProfileFunction
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
import info.nightscout.androidaps.plugins.bus.RxBusWrapper
|
||||
|
@ -19,7 +19,7 @@ class InsulinLyumjevPlugin @Inject constructor(
|
|||
rxBus: RxBusWrapper, aapsLogger: AAPSLogger
|
||||
) : InsulinOrefBasePlugin(injector, resourceHelper, profileFunction, rxBus, aapsLogger) {
|
||||
|
||||
override val id get(): InsulinInterface.InsulinType = InsulinInterface.InsulinType.OREF_LYUMJEV
|
||||
override val id get(): Insulin.InsulinType = Insulin.InsulinType.OREF_LYUMJEV
|
||||
override val friendlyName get(): String = resourceHelper.gs(R.string.lyumjev)
|
||||
|
||||
override fun configuration(): JSONObject = JSONObject()
|
||||
|
|
|
@ -4,8 +4,7 @@ import dagger.android.HasAndroidInjector
|
|||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.data.Iob
|
||||
import info.nightscout.androidaps.database.entities.Bolus
|
||||
import info.nightscout.androidaps.db.Treatment
|
||||
import info.nightscout.androidaps.interfaces.InsulinInterface
|
||||
import info.nightscout.androidaps.interfaces.Insulin
|
||||
import info.nightscout.androidaps.interfaces.PluginBase
|
||||
import info.nightscout.androidaps.interfaces.PluginDescription
|
||||
import info.nightscout.androidaps.interfaces.PluginType
|
||||
|
@ -36,7 +35,7 @@ abstract class InsulinOrefBasePlugin(
|
|||
.shortName(R.string.insulin_shortname)
|
||||
.visibleByDefault(false),
|
||||
aapsLogger, resourceHelper, injector
|
||||
), InsulinInterface {
|
||||
), Insulin {
|
||||
|
||||
private var lastWarned: Long = 0
|
||||
override val dia
|
||||
|
@ -67,26 +66,6 @@ abstract class InsulinOrefBasePlugin(
|
|||
return profile?.dia ?: MIN_DIA
|
||||
}
|
||||
|
||||
override fun iobCalcForTreatment(treatment: Treatment, time: Long, dia: Double): Iob {
|
||||
val result = Iob()
|
||||
val peak = peak
|
||||
if (treatment.insulin != 0.0) {
|
||||
val bolusTime = treatment.date
|
||||
val t = (time - bolusTime) / 1000.0 / 60.0
|
||||
val td = dia * 60 //getDIA() always >= MIN_DIA
|
||||
val tp = peak.toDouble()
|
||||
// force the IOB to 0 if over DIA hours have passed
|
||||
if (t < td) {
|
||||
val tau = tp * (1 - tp / td) / (1 - 2 * tp / td)
|
||||
val a = 2 * tau / td
|
||||
val S = 1 / (1 - a + (1 + a) * Math.exp(-td / tau))
|
||||
result.activityContrib = treatment.insulin * (S / Math.pow(tau, 2.0)) * t * (1 - t / td) * Math.exp(-t / tau)
|
||||
result.iobContrib = treatment.insulin * (1 - S * (1 - a) * ((Math.pow(t, 2.0) / (tau * td * (1 - a)) - t / tau - 1) * Math.exp(-t / tau) + 1))
|
||||
}
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
override fun iobCalcForTreatment(bolus: Bolus, time: Long, dia: Double): Iob {
|
||||
val result = Iob()
|
||||
val peak = peak
|
||||
|
|
|
@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.insulin
|
|||
|
||||
import dagger.android.HasAndroidInjector
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.interfaces.InsulinInterface
|
||||
import info.nightscout.androidaps.interfaces.Insulin
|
||||
import info.nightscout.androidaps.interfaces.ProfileFunction
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
import info.nightscout.androidaps.plugins.bus.RxBusWrapper
|
||||
|
@ -26,7 +26,7 @@ class InsulinOrefFreePeakPlugin @Inject constructor(
|
|||
rxBus: RxBusWrapper, aapsLogger: AAPSLogger
|
||||
) : InsulinOrefBasePlugin(injector, resourceHelper, profileFunction, rxBus, aapsLogger) {
|
||||
|
||||
override val id get(): InsulinInterface.InsulinType = InsulinInterface.InsulinType.OREF_FREE_PEAK
|
||||
override val id get(): Insulin.InsulinType = Insulin.InsulinType.OREF_FREE_PEAK
|
||||
|
||||
override val friendlyName get(): String = resourceHelper.gs(R.string.free_peak_oref)
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.insulin
|
|||
|
||||
import dagger.android.HasAndroidInjector
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.interfaces.InsulinInterface
|
||||
import info.nightscout.androidaps.interfaces.Insulin
|
||||
import info.nightscout.androidaps.interfaces.ProfileFunction
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
import info.nightscout.androidaps.plugins.bus.RxBusWrapper
|
||||
|
@ -22,7 +22,7 @@ class InsulinOrefRapidActingPlugin @Inject constructor(
|
|||
rxBus: RxBusWrapper, aapsLogger: AAPSLogger
|
||||
) : InsulinOrefBasePlugin(injector, resourceHelper, profileFunction, rxBus, aapsLogger) {
|
||||
|
||||
override val id get(): InsulinInterface.InsulinType = InsulinInterface.InsulinType.OREF_RAPID_ACTING
|
||||
override val id get(): Insulin.InsulinType = Insulin.InsulinType.OREF_RAPID_ACTING
|
||||
override val friendlyName get(): String = resourceHelper.gs(R.string.rapid_acting_oref)
|
||||
|
||||
override fun configuration(): JSONObject = JSONObject()
|
||||
|
|
|
@ -2,7 +2,7 @@ package info.nightscout.androidaps.plugins.insulin
|
|||
|
||||
import dagger.android.HasAndroidInjector
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.interfaces.InsulinInterface
|
||||
import info.nightscout.androidaps.interfaces.Insulin
|
||||
import info.nightscout.androidaps.interfaces.ProfileFunction
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
import info.nightscout.androidaps.plugins.bus.RxBusWrapper
|
||||
|
@ -22,7 +22,7 @@ class InsulinOrefUltraRapidActingPlugin @Inject constructor(
|
|||
rxBus: RxBusWrapper, aapsLogger: AAPSLogger
|
||||
) : InsulinOrefBasePlugin(injector, resourceHelper, profileFunction, rxBus, aapsLogger) {
|
||||
|
||||
override val id get(): InsulinInterface.InsulinType = InsulinInterface.InsulinType.OREF_ULTRA_RAPID_ACTING
|
||||
override val id get(): Insulin.InsulinType = Insulin.InsulinType.OREF_ULTRA_RAPID_ACTING
|
||||
override val friendlyName get(): String = resourceHelper.gs(R.string.ultrarapid_oref)
|
||||
|
||||
override fun configuration(): JSONObject = JSONObject()
|
||||
|
|
|
@ -52,7 +52,7 @@ open class IobCobCalculatorPlugin @Inject constructor(
|
|||
private val sp: SP,
|
||||
resourceHelper: ResourceHelper,
|
||||
private val profileFunction: ProfileFunction,
|
||||
private val activePlugin: ActivePluginProvider,
|
||||
private val activePlugin: ActivePlugin,
|
||||
private val sensitivityOref1Plugin: SensitivityOref1Plugin,
|
||||
private val sensitivityAAPSPlugin: SensitivityAAPSPlugin,
|
||||
private val sensitivityWeightedAveragePlugin: SensitivityWeightedAveragePlugin,
|
||||
|
|
|
@ -11,7 +11,7 @@ import info.nightscout.androidaps.database.ValueWrapper
|
|||
import info.nightscout.androidaps.events.Event
|
||||
import info.nightscout.androidaps.events.EventAutosensCalculationFinished
|
||||
import info.nightscout.androidaps.extensions.target
|
||||
import info.nightscout.androidaps.interfaces.ActivePluginProvider
|
||||
import info.nightscout.androidaps.interfaces.ActivePlugin
|
||||
import info.nightscout.androidaps.interfaces.ProfileFunction
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
import info.nightscout.androidaps.logging.LTag
|
||||
|
@ -56,7 +56,7 @@ class IobCobOref1Thread internal constructor(
|
|||
@Inject lateinit var context: Context
|
||||
@Inject lateinit var sensitivityAAPSPlugin: SensitivityAAPSPlugin
|
||||
@Inject lateinit var sensitivityWeightedAveragePlugin: SensitivityWeightedAveragePlugin
|
||||
@Inject lateinit var activePlugin: ActivePluginProvider
|
||||
@Inject lateinit var activePlugin: ActivePlugin
|
||||
@Inject lateinit var buildHelper: BuildHelper
|
||||
@Inject lateinit var profiler: Profiler
|
||||
@Inject lateinit var fabricPrivacy: FabricPrivacy
|
||||
|
|
|
@ -9,7 +9,7 @@ import info.nightscout.androidaps.R
|
|||
import info.nightscout.androidaps.database.AppRepository
|
||||
import info.nightscout.androidaps.events.Event
|
||||
import info.nightscout.androidaps.events.EventAutosensCalculationFinished
|
||||
import info.nightscout.androidaps.interfaces.ActivePluginProvider
|
||||
import info.nightscout.androidaps.interfaces.ActivePlugin
|
||||
import info.nightscout.androidaps.interfaces.PluginType
|
||||
import info.nightscout.androidaps.interfaces.ProfileFunction
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
|
@ -55,7 +55,7 @@ class IobCobThread @Inject internal constructor(
|
|||
@Inject lateinit var context: Context
|
||||
@Inject lateinit var sensitivityAAPSPlugin: SensitivityAAPSPlugin
|
||||
@Inject lateinit var sensitivityWeightedAveragePlugin: SensitivityWeightedAveragePlugin
|
||||
@Inject lateinit var activePlugin: ActivePluginProvider
|
||||
@Inject lateinit var activePlugin: ActivePlugin
|
||||
@Inject lateinit var buildHelper: BuildHelper
|
||||
@Inject lateinit var profiler: Profiler
|
||||
@Inject lateinit var fabricPrivacy: FabricPrivacy
|
||||
|
|
|
@ -17,7 +17,7 @@ import info.nightscout.androidaps.database.entities.UserEntry.Sources
|
|||
import info.nightscout.androidaps.database.entities.ValueWithUnit
|
||||
import info.nightscout.androidaps.databinding.LocalprofileFragmentBinding
|
||||
import info.nightscout.androidaps.dialogs.ProfileSwitchDialog
|
||||
import info.nightscout.androidaps.interfaces.ActivePluginProvider
|
||||
import info.nightscout.androidaps.interfaces.ActivePlugin
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
import info.nightscout.androidaps.logging.UserEntryLogger
|
||||
import info.nightscout.androidaps.plugins.bus.RxBusWrapper
|
||||
|
@ -36,7 +36,7 @@ class LocalProfileFragment : DaggerFragment() {
|
|||
@Inject lateinit var aapsLogger: AAPSLogger
|
||||
@Inject lateinit var rxBus: RxBusWrapper
|
||||
@Inject lateinit var resourceHelper: ResourceHelper
|
||||
@Inject lateinit var activePlugin: ActivePluginProvider
|
||||
@Inject lateinit var activePlugin: ActivePlugin
|
||||
@Inject lateinit var fabricPrivacy: FabricPrivacy
|
||||
@Inject lateinit var localProfilePlugin: LocalProfilePlugin
|
||||
@Inject lateinit var hardLimits: HardLimits
|
||||
|
|
|
@ -9,7 +9,6 @@ import info.nightscout.androidaps.events.EventProfileStoreChanged
|
|||
import info.nightscout.androidaps.interfaces.*
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
import info.nightscout.androidaps.logging.LTag
|
||||
import info.nightscout.androidaps.logging.UserEntryLogger
|
||||
import info.nightscout.androidaps.plugins.bus.RxBusWrapper
|
||||
import info.nightscout.androidaps.plugins.general.nsclient.NSUpload
|
||||
import info.nightscout.androidaps.utils.DateUtil
|
||||
|
@ -34,8 +33,7 @@ class LocalProfilePlugin @Inject constructor(
|
|||
private val sp: SP,
|
||||
private val profileFunction: ProfileFunction,
|
||||
private val nsUpload: NSUpload,
|
||||
private val dateUtil: DateUtil,
|
||||
private val uel: UserEntryLogger
|
||||
private val dateUtil: DateUtil
|
||||
) : PluginBase(PluginDescription()
|
||||
.mainType(PluginType.PROFILE)
|
||||
.fragmentClass(LocalProfileFragment::class.java.name)
|
||||
|
@ -46,7 +44,7 @@ class LocalProfilePlugin @Inject constructor(
|
|||
.description(R.string.description_profile_local)
|
||||
.setDefault(),
|
||||
aapsLogger, resourceHelper, injector
|
||||
), ProfileInterface {
|
||||
), ProfileSource {
|
||||
|
||||
private var rawProfile: ProfileStore? = null
|
||||
|
||||
|
@ -58,6 +56,7 @@ class LocalProfilePlugin @Inject constructor(
|
|||
}
|
||||
|
||||
class SingleProfile {
|
||||
|
||||
internal var name: String? = null
|
||||
internal var mgdl: Boolean = false
|
||||
internal var dia: Double = Constants.defaultDIA
|
||||
|
@ -350,12 +349,10 @@ class LocalProfilePlugin @Inject constructor(
|
|||
return ProfileStore(injector, json)
|
||||
}
|
||||
|
||||
override fun getProfile(): ProfileStore? {
|
||||
return rawProfile
|
||||
}
|
||||
override val profile: ProfileStore?
|
||||
get() = rawProfile
|
||||
|
||||
override fun getProfileName(): String {
|
||||
return DecimalFormatter.to2Decimal(rawProfile?.getDefaultProfile()?.percentageBasalSum()
|
||||
override val profileName: String
|
||||
get() = DecimalFormatter.to2Decimal(rawProfile?.getDefaultProfile()?.percentageBasalSum()
|
||||
?: 0.0) + "U "
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,13 +5,13 @@ import androidx.work.Worker
|
|||
import androidx.work.WorkerParameters
|
||||
import androidx.work.workDataOf
|
||||
import dagger.android.HasAndroidInjector
|
||||
import info.nightscout.androidaps.Config
|
||||
import info.nightscout.androidaps.interfaces.Config
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.events.EventProfileStoreChanged
|
||||
import info.nightscout.androidaps.interfaces.PluginBase
|
||||
import info.nightscout.androidaps.interfaces.PluginDescription
|
||||
import info.nightscout.androidaps.interfaces.PluginType
|
||||
import info.nightscout.androidaps.interfaces.ProfileInterface
|
||||
import info.nightscout.androidaps.interfaces.ProfileSource
|
||||
import info.nightscout.androidaps.interfaces.ProfileStore
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
import info.nightscout.androidaps.logging.LTag
|
||||
|
@ -44,9 +44,12 @@ class NSProfilePlugin @Inject constructor(
|
|||
.showInList(!config.NSCLIENT)
|
||||
.description(R.string.description_profile_nightscout),
|
||||
aapsLogger, resourceHelper, injector
|
||||
), ProfileInterface {
|
||||
), ProfileSource {
|
||||
|
||||
private var profile: ProfileStore? = null
|
||||
override var profile: ProfileStore? = null
|
||||
|
||||
override val profileName: String?
|
||||
get() = profile?.getDefaultProfileName()
|
||||
|
||||
override fun onStart() {
|
||||
super.onStart()
|
||||
|
@ -71,13 +74,6 @@ class NSProfilePlugin @Inject constructor(
|
|||
}
|
||||
}
|
||||
|
||||
override fun getProfile(): ProfileStore? {
|
||||
return profile
|
||||
}
|
||||
|
||||
override fun getProfileName(): String {
|
||||
return profile!!.getDefaultProfileName()!!
|
||||
}
|
||||
|
||||
// cannot be inner class because of needed injection
|
||||
class NSProfileWorker(
|
||||
|
|
|
@ -33,7 +33,7 @@ class MDIPlugin @Inject constructor(
|
|||
.pluginName(R.string.mdi)
|
||||
.description(R.string.description_pump_mdi),
|
||||
injector, aapsLogger, resourceHelper, commandQueue
|
||||
), PumpInterface {
|
||||
), Pump {
|
||||
|
||||
override val pumpDescription = PumpDescription()
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ import android.os.SystemClock
|
|||
import androidx.preference.PreferenceFragmentCompat
|
||||
import androidx.preference.SwitchPreference
|
||||
import dagger.android.HasAndroidInjector
|
||||
import info.nightscout.androidaps.Config
|
||||
import info.nightscout.androidaps.interfaces.Config
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.data.DetailedBolusInfo
|
||||
import info.nightscout.androidaps.data.Profile
|
||||
|
@ -63,7 +63,7 @@ open class VirtualPumpPlugin @Inject constructor(
|
|||
.description(R.string.description_pump_virtual)
|
||||
.setDefault(),
|
||||
injector, aapsLogger, resourceHelper, commandQueue
|
||||
), PumpInterface {
|
||||
), Pump {
|
||||
|
||||
private val disposable = CompositeDisposable()
|
||||
var batteryPercent = 50
|
||||
|
@ -152,7 +152,7 @@ open class VirtualPumpPlugin @Inject constructor(
|
|||
|
||||
override fun setNewBasalProfile(profile: Profile): PumpEnactResult {
|
||||
lastDataTime = System.currentTimeMillis()
|
||||
// Do nothing here. we are using ConfigBuilderPlugin.getPlugin().getActiveProfile().getProfile();
|
||||
// Do nothing here. we are using database profile
|
||||
val result = PumpEnactResult(injector)
|
||||
result.success = true
|
||||
val notification = Notification(Notification.PROFILE_SET_OK, resourceHelper.gs(R.string.profile_set_ok), Notification.INFO, 60)
|
||||
|
|
|
@ -4,7 +4,7 @@ import dagger.android.HasAndroidInjector
|
|||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.interfaces.PluginBase
|
||||
import info.nightscout.androidaps.interfaces.PluginDescription
|
||||
import info.nightscout.androidaps.interfaces.SensitivityInterface
|
||||
import info.nightscout.androidaps.interfaces.Sensitivity
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
import info.nightscout.androidaps.logging.LTag
|
||||
import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore
|
||||
|
@ -22,7 +22,7 @@ abstract class AbstractSensitivityPlugin(
|
|||
aapsLogger: AAPSLogger,
|
||||
resourceHelper: ResourceHelper,
|
||||
val sp: SP
|
||||
) : PluginBase(pluginDescription, aapsLogger, resourceHelper, injector), SensitivityInterface {
|
||||
) : PluginBase(pluginDescription, aapsLogger, resourceHelper, injector), Sensitivity {
|
||||
|
||||
abstract override fun detectSensitivity(ads: AutosensDataStore, fromTime: Long, toTime: Long): AutosensResult
|
||||
|
||||
|
@ -46,11 +46,11 @@ abstract class AbstractSensitivityPlugin(
|
|||
//If not-excluded data <= MIN_HOURS -> don't do Autosens
|
||||
//If not-excluded data >= MIN_HOURS_FULL_AUTOSENS -> full Autosens
|
||||
//Between MIN_HOURS and MIN_HOURS_FULL_AUTOSENS: gradually increase autosens
|
||||
val autosensContrib = (min(max(SensitivityInterface.MIN_HOURS, deviationsArraySize / 12.0),
|
||||
SensitivityInterface.MIN_HOURS_FULL_AUTOSENS) - SensitivityInterface.MIN_HOURS) / (SensitivityInterface.MIN_HOURS_FULL_AUTOSENS - SensitivityInterface.MIN_HOURS)
|
||||
val autosensContrib = (min(max(Sensitivity.MIN_HOURS, deviationsArraySize / 12.0),
|
||||
Sensitivity.MIN_HOURS_FULL_AUTOSENS) - Sensitivity.MIN_HOURS) / (Sensitivity.MIN_HOURS_FULL_AUTOSENS - Sensitivity.MIN_HOURS)
|
||||
ratio = autosensContrib * (ratio - 1) + 1
|
||||
if (autosensContrib != 1.0) {
|
||||
ratioLimit += "(" + deviationsArraySize + " of " + SensitivityInterface.MIN_HOURS_FULL_AUTOSENS * 12 + " values) "
|
||||
ratioLimit += "(" + deviationsArraySize + " of " + Sensitivity.MIN_HOURS_FULL_AUTOSENS * 12 + " values) "
|
||||
}
|
||||
if (ratio != rawRatio) {
|
||||
ratioLimit += "Ratio limited from $rawRatio to $ratio"
|
||||
|
|
|
@ -12,7 +12,7 @@ import info.nightscout.androidaps.interfaces.DatabaseHelperInterface
|
|||
import info.nightscout.androidaps.interfaces.PluginDescription
|
||||
import info.nightscout.androidaps.interfaces.PluginType
|
||||
import info.nightscout.androidaps.interfaces.ProfileFunction
|
||||
import info.nightscout.androidaps.interfaces.SensitivityInterface.SensitivityType
|
||||
import info.nightscout.androidaps.interfaces.Sensitivity.SensitivityType
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
import info.nightscout.androidaps.logging.LTag
|
||||
import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore
|
||||
|
|
|
@ -12,7 +12,7 @@ import info.nightscout.androidaps.interfaces.DatabaseHelperInterface
|
|||
import info.nightscout.androidaps.interfaces.PluginDescription
|
||||
import info.nightscout.androidaps.interfaces.PluginType
|
||||
import info.nightscout.androidaps.interfaces.ProfileFunction
|
||||
import info.nightscout.androidaps.interfaces.SensitivityInterface.SensitivityType
|
||||
import info.nightscout.androidaps.interfaces.Sensitivity.SensitivityType
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
import info.nightscout.androidaps.logging.LTag
|
||||
import info.nightscout.androidaps.plugins.aps.openAPSSMB.SMBDefaults
|
||||
|
|
|
@ -13,7 +13,7 @@ import info.nightscout.androidaps.interfaces.DatabaseHelperInterface
|
|||
import info.nightscout.androidaps.interfaces.PluginDescription
|
||||
import info.nightscout.androidaps.interfaces.PluginType
|
||||
import info.nightscout.androidaps.interfaces.ProfileFunction
|
||||
import info.nightscout.androidaps.interfaces.SensitivityInterface.SensitivityType
|
||||
import info.nightscout.androidaps.interfaces.Sensitivity.SensitivityType
|
||||
import info.nightscout.androidaps.logging.AAPSLogger
|
||||
import info.nightscout.androidaps.logging.LTag
|
||||
import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensDataStore
|
||||
|
|
|
@ -29,7 +29,7 @@ import info.nightscout.androidaps.utils.alertDialogs.OKDialog
|
|||
import info.nightscout.androidaps.extensions.directionToIcon
|
||||
import info.nightscout.androidaps.extensions.toVisibility
|
||||
import info.nightscout.androidaps.extensions.valueToUnitsString
|
||||
import info.nightscout.androidaps.interfaces.ActivePluginProvider
|
||||
import info.nightscout.androidaps.interfaces.ActivePlugin
|
||||
import info.nightscout.androidaps.interfaces.PluginBase
|
||||
import info.nightscout.androidaps.utils.resources.ResourceHelper
|
||||
import info.nightscout.androidaps.utils.rx.AapsSchedulers
|
||||
|
@ -49,7 +49,7 @@ class BGSourceFragment : DaggerFragment() {
|
|||
@Inject lateinit var repository: AppRepository
|
||||
@Inject lateinit var aapsSchedulers: AapsSchedulers
|
||||
@Inject lateinit var uel: UserEntryLogger
|
||||
@Inject lateinit var activePlugin: ActivePluginProvider
|
||||
@Inject lateinit var activePlugin: ActivePlugin
|
||||
|
||||
private val disposable = CompositeDisposable()
|
||||
private val millsToThePast = T.hours(12).msecs()
|
||||
|
|
|
@ -8,7 +8,7 @@ import androidx.work.Worker
|
|||
import androidx.work.WorkerParameters
|
||||
import androidx.work.workDataOf
|
||||
import dagger.android.HasAndroidInjector
|
||||
import info.nightscout.androidaps.Config
|
||||
import info.nightscout.androidaps.interfaces.Config
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.activities.RequestDexcomPermissionActivity
|
||||
import info.nightscout.androidaps.database.AppRepository
|
||||
|
@ -18,7 +18,7 @@ import info.nightscout.androidaps.database.entities.UserEntry.Action
|
|||
import info.nightscout.androidaps.database.entities.UserEntry.Sources
|
||||
import info.nightscout.androidaps.database.entities.ValueWithUnit
|
||||
import info.nightscout.androidaps.database.transactions.CgmSourceTransaction
|
||||
import info.nightscout.androidaps.interfaces.BgSourceInterface
|
||||
import info.nightscout.androidaps.interfaces.BgSource
|
||||
import info.nightscout.androidaps.interfaces.PluginBase
|
||||
import info.nightscout.androidaps.interfaces.PluginDescription
|
||||
import info.nightscout.androidaps.interfaces.PluginType
|
||||
|
@ -51,7 +51,7 @@ class DexcomPlugin @Inject constructor(
|
|||
.preferencesId(R.xml.pref_bgsourcedexcom)
|
||||
.description(R.string.description_source_dexcom),
|
||||
aapsLogger, resourceHelper, injector
|
||||
), BgSourceInterface {
|
||||
), BgSource {
|
||||
|
||||
init {
|
||||
if (!config.NSCLIENT) {
|
||||
|
@ -63,7 +63,7 @@ class DexcomPlugin @Inject constructor(
|
|||
return true
|
||||
}
|
||||
|
||||
override fun uploadToNs(glucoseValue: GlucoseValue): Boolean =
|
||||
override fun shouldUploadToNs(glucoseValue: GlucoseValue): Boolean =
|
||||
(glucoseValue.sourceSensor == GlucoseValue.SourceSensor.DEXCOM_G6_NATIVE ||
|
||||
glucoseValue.sourceSensor == GlucoseValue.SourceSensor.DEXCOM_G5_NATIVE ||
|
||||
glucoseValue.sourceSensor == GlucoseValue.SourceSensor.DEXCOM_NATIVE_UNKNOWN)
|
||||
|
|
|
@ -11,7 +11,7 @@ import info.nightscout.androidaps.database.entities.GlucoseValue
|
|||
import info.nightscout.androidaps.database.entities.TherapyEvent
|
||||
import info.nightscout.androidaps.database.transactions.CgmSourceTransaction
|
||||
import info.nightscout.androidaps.database.transactions.InsertIfNewByTimestampTherapyEventTransaction
|
||||
import info.nightscout.androidaps.interfaces.BgSourceInterface
|
||||
import info.nightscout.androidaps.interfaces.BgSource
|
||||
import info.nightscout.androidaps.interfaces.PluginBase
|
||||
import info.nightscout.androidaps.interfaces.PluginDescription
|
||||
import info.nightscout.androidaps.interfaces.PluginType
|
||||
|
@ -41,11 +41,11 @@ class EversensePlugin @Inject constructor(
|
|||
.preferencesId(R.xml.pref_bgsource)
|
||||
.description(R.string.description_source_eversense),
|
||||
aapsLogger, resourceHelper, injector
|
||||
), BgSourceInterface {
|
||||
), BgSource {
|
||||
|
||||
override var sensorBatteryLevel = -1
|
||||
|
||||
override fun uploadToNs(glucoseValue: GlucoseValue): Boolean =
|
||||
override fun shouldUploadToNs(glucoseValue: GlucoseValue): Boolean =
|
||||
glucoseValue.sourceSensor == GlucoseValue.SourceSensor.EVERSENSE && sp.getBoolean(R.string.key_dexcomg5_nsupload, false)
|
||||
|
||||
// cannot be inner class because of needed injection
|
||||
|
|
|
@ -9,7 +9,7 @@ import info.nightscout.androidaps.R
|
|||
import info.nightscout.androidaps.database.AppRepository
|
||||
import info.nightscout.androidaps.database.entities.GlucoseValue
|
||||
import info.nightscout.androidaps.database.transactions.CgmSourceTransaction
|
||||
import info.nightscout.androidaps.interfaces.BgSourceInterface
|
||||
import info.nightscout.androidaps.interfaces.BgSource
|
||||
import info.nightscout.androidaps.interfaces.PluginBase
|
||||
import info.nightscout.androidaps.interfaces.PluginDescription
|
||||
import info.nightscout.androidaps.interfaces.PluginType
|
||||
|
@ -35,7 +35,7 @@ class GlimpPlugin @Inject constructor(
|
|||
.preferencesId(R.xml.pref_bgsource)
|
||||
.description(R.string.description_source_glimp),
|
||||
aapsLogger, resourceHelper, injector
|
||||
), BgSourceInterface {
|
||||
), BgSource {
|
||||
|
||||
// cannot be inner class because of needed injection
|
||||
class GlimpWorker(
|
||||
|
@ -83,7 +83,7 @@ class GlimpPlugin @Inject constructor(
|
|||
}
|
||||
}
|
||||
|
||||
override fun uploadToNs(glucoseValue: GlucoseValue): Boolean =
|
||||
override fun shouldUploadToNs(glucoseValue: GlucoseValue): Boolean =
|
||||
glucoseValue.sourceSensor == GlucoseValue.SourceSensor.GLIMP && sp.getBoolean(R.string.key_dexcomg5_nsupload, false)
|
||||
|
||||
}
|
|
@ -9,7 +9,7 @@ import info.nightscout.androidaps.R
|
|||
import info.nightscout.androidaps.database.AppRepository
|
||||
import info.nightscout.androidaps.database.entities.GlucoseValue
|
||||
import info.nightscout.androidaps.database.transactions.CgmSourceTransaction
|
||||
import info.nightscout.androidaps.interfaces.BgSourceInterface
|
||||
import info.nightscout.androidaps.interfaces.BgSource
|
||||
import info.nightscout.androidaps.interfaces.PluginBase
|
||||
import info.nightscout.androidaps.interfaces.PluginDescription
|
||||
import info.nightscout.androidaps.interfaces.PluginType
|
||||
|
@ -38,7 +38,7 @@ class MM640gPlugin @Inject constructor(
|
|||
.pluginName(R.string.MM640g)
|
||||
.description(R.string.description_source_mm640g),
|
||||
aapsLogger, resourceHelper, injector
|
||||
), BgSourceInterface {
|
||||
), BgSource {
|
||||
|
||||
// cannot be inner class because of needed injection
|
||||
class MM640gWorker(
|
||||
|
@ -107,7 +107,7 @@ class MM640gPlugin @Inject constructor(
|
|||
}
|
||||
}
|
||||
|
||||
override fun uploadToNs(glucoseValue: GlucoseValue): Boolean =
|
||||
override fun shouldUploadToNs(glucoseValue: GlucoseValue): Boolean =
|
||||
glucoseValue.sourceSensor == GlucoseValue.SourceSensor.MM_600_SERIES && sp.getBoolean(R.string.key_dexcomg5_nsupload, false)
|
||||
|
||||
}
|
|
@ -5,12 +5,12 @@ import androidx.work.Worker
|
|||
import androidx.work.WorkerParameters
|
||||
import androidx.work.workDataOf
|
||||
import dagger.android.HasAndroidInjector
|
||||
import info.nightscout.androidaps.Config
|
||||
import info.nightscout.androidaps.interfaces.Config
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.database.AppRepository
|
||||
import info.nightscout.androidaps.database.entities.GlucoseValue
|
||||
import info.nightscout.androidaps.database.transactions.CgmSourceTransaction
|
||||
import info.nightscout.androidaps.interfaces.BgSourceInterface
|
||||
import info.nightscout.androidaps.interfaces.BgSource
|
||||
import info.nightscout.androidaps.interfaces.PluginBase
|
||||
import info.nightscout.androidaps.interfaces.PluginDescription
|
||||
import info.nightscout.androidaps.interfaces.PluginType
|
||||
|
@ -44,7 +44,7 @@ class NSClientSourcePlugin @Inject constructor(
|
|||
.pluginName(R.string.nsclientbg)
|
||||
.description(R.string.description_source_ns_client),
|
||||
aapsLogger, resourceHelper, injector
|
||||
), BgSourceInterface {
|
||||
), BgSource {
|
||||
|
||||
private var lastBGTimeStamp: Long = 0
|
||||
private var isAdvancedFilteringEnabled = false
|
||||
|
@ -61,7 +61,7 @@ class NSClientSourcePlugin @Inject constructor(
|
|||
return isAdvancedFilteringEnabled
|
||||
}
|
||||
|
||||
override fun uploadToNs(glucoseValue: GlucoseValue): Boolean = false
|
||||
override fun shouldUploadToNs(glucoseValue: GlucoseValue): Boolean = false
|
||||
|
||||
private fun detectSource(glucoseValue: GlucoseValue) {
|
||||
if (glucoseValue.timestamp > lastBGTimeStamp) {
|
||||
|
|
|
@ -10,7 +10,7 @@ import info.nightscout.androidaps.R
|
|||
import info.nightscout.androidaps.database.AppRepository
|
||||
import info.nightscout.androidaps.database.entities.GlucoseValue
|
||||
import info.nightscout.androidaps.database.transactions.CgmSourceTransaction
|
||||
import info.nightscout.androidaps.interfaces.BgSourceInterface
|
||||
import info.nightscout.androidaps.interfaces.BgSource
|
||||
import info.nightscout.androidaps.interfaces.PluginBase
|
||||
import info.nightscout.androidaps.interfaces.PluginDescription
|
||||
import info.nightscout.androidaps.interfaces.PluginType
|
||||
|
@ -39,7 +39,7 @@ class PoctechPlugin @Inject constructor(
|
|||
.preferencesId(R.xml.pref_bgsource)
|
||||
.description(R.string.description_source_poctech),
|
||||
aapsLogger, resourceHelper, injector
|
||||
), BgSourceInterface {
|
||||
), BgSource {
|
||||
|
||||
// cannot be inner class because of needed injection
|
||||
class PoctechWorker(
|
||||
|
@ -98,7 +98,7 @@ class PoctechPlugin @Inject constructor(
|
|||
}
|
||||
}
|
||||
|
||||
override fun uploadToNs(glucoseValue: GlucoseValue): Boolean =
|
||||
override fun shouldUploadToNs(glucoseValue: GlucoseValue): Boolean =
|
||||
glucoseValue.sourceSensor == GlucoseValue.SourceSensor.POCTECH_NATIVE && sp.getBoolean(R.string.key_dexcomg5_nsupload, false)
|
||||
|
||||
}
|
|
@ -7,7 +7,7 @@ import info.nightscout.androidaps.R
|
|||
import info.nightscout.androidaps.database.AppRepository
|
||||
import info.nightscout.androidaps.database.entities.GlucoseValue
|
||||
import info.nightscout.androidaps.database.transactions.CgmSourceTransaction
|
||||
import info.nightscout.androidaps.interfaces.BgSourceInterface
|
||||
import info.nightscout.androidaps.interfaces.BgSource
|
||||
import info.nightscout.androidaps.interfaces.PluginBase
|
||||
import info.nightscout.androidaps.interfaces.PluginDescription
|
||||
import info.nightscout.androidaps.interfaces.PluginType
|
||||
|
@ -48,7 +48,7 @@ class RandomBgPlugin @Inject constructor(
|
|||
.preferencesId(R.xml.pref_bgsource)
|
||||
.description(R.string.description_source_randombg),
|
||||
aapsLogger, resourceHelper, injector
|
||||
), BgSourceInterface {
|
||||
), BgSource {
|
||||
|
||||
private val loopHandler: Handler = Handler(HandlerThread(RandomBgPlugin::class.java.simpleName + "Handler").also { it.start() }.looper)
|
||||
private lateinit var refreshLoop: Runnable
|
||||
|
@ -74,7 +74,7 @@ class RandomBgPlugin @Inject constructor(
|
|||
return true
|
||||
}
|
||||
|
||||
override fun uploadToNs(glucoseValue: GlucoseValue): Boolean =
|
||||
override fun shouldUploadToNs(glucoseValue: GlucoseValue): Boolean =
|
||||
glucoseValue.sourceSensor == GlucoseValue.SourceSensor.RANDOM && sp.getBoolean(R.string.key_dexcomg5_nsupload, false)
|
||||
|
||||
override fun onStart() {
|
||||
|
|
|
@ -9,7 +9,7 @@ import info.nightscout.androidaps.R
|
|||
import info.nightscout.androidaps.database.AppRepository
|
||||
import info.nightscout.androidaps.database.entities.GlucoseValue
|
||||
import info.nightscout.androidaps.database.transactions.CgmSourceTransaction
|
||||
import info.nightscout.androidaps.interfaces.BgSourceInterface
|
||||
import info.nightscout.androidaps.interfaces.BgSource
|
||||
import info.nightscout.androidaps.interfaces.PluginBase
|
||||
import info.nightscout.androidaps.interfaces.PluginDescription
|
||||
import info.nightscout.androidaps.interfaces.PluginType
|
||||
|
@ -36,7 +36,7 @@ class TomatoPlugin @Inject constructor(
|
|||
.shortName(R.string.tomato_short)
|
||||
.description(R.string.description_source_tomato),
|
||||
aapsLogger, resourceHelper, injector
|
||||
), BgSourceInterface {
|
||||
), BgSource {
|
||||
|
||||
// cannot be inner class because of needed injection
|
||||
class TomatoWorker(
|
||||
|
@ -85,7 +85,7 @@ class TomatoPlugin @Inject constructor(
|
|||
}
|
||||
}
|
||||
|
||||
override fun uploadToNs(glucoseValue: GlucoseValue): Boolean =
|
||||
override fun shouldUploadToNs(glucoseValue: GlucoseValue): Boolean =
|
||||
glucoseValue.sourceSensor == GlucoseValue.SourceSensor.LIBRE_1_TOMATO && sp.getBoolean(R.string.key_dexcomg5_nsupload, false)
|
||||
|
||||
}
|
|
@ -9,7 +9,7 @@ import info.nightscout.androidaps.R
|
|||
import info.nightscout.androidaps.database.AppRepository
|
||||
import info.nightscout.androidaps.database.entities.GlucoseValue
|
||||
import info.nightscout.androidaps.database.transactions.CgmSourceTransaction
|
||||
import info.nightscout.androidaps.interfaces.BgSourceInterface
|
||||
import info.nightscout.androidaps.interfaces.BgSource
|
||||
import info.nightscout.androidaps.interfaces.PluginBase
|
||||
import info.nightscout.androidaps.interfaces.PluginDescription
|
||||
import info.nightscout.androidaps.interfaces.PluginType
|
||||
|
@ -33,12 +33,12 @@ class XdripPlugin @Inject constructor(
|
|||
.pluginName(R.string.xdrip)
|
||||
.description(R.string.description_source_xdrip),
|
||||
aapsLogger, resourceHelper, injector
|
||||
), BgSourceInterface {
|
||||
), BgSource {
|
||||
|
||||
private var advancedFiltering = false
|
||||
override var sensorBatteryLevel = -1
|
||||
|
||||
override fun uploadToNs(glucoseValue: GlucoseValue): Boolean = false
|
||||
override fun shouldUploadToNs(glucoseValue: GlucoseValue): Boolean = false
|
||||
|
||||
override fun advancedFilteringSupported(): Boolean {
|
||||
return advancedFiltering
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue