diff --git a/app/build.gradle b/app/build.gradle index 9fade3c32b..83063a8d88 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -196,6 +196,7 @@ dependencies { implementation project(':plugins:automation') implementation project(':plugins:main') implementation project(':plugins:openhumans') + implementation project(':plugins:configuration') implementation project(':implementation') implementation project(':database:entities') implementation project(':database:impl') diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 78de2d2b60..48bf6058d2 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -176,13 +176,6 @@ - - = ErrorHelperActivity::class.java override val bolusProgressHelperActivity: Class<*> = BolusProgressHelperActivity::class.java override val singleFragmentActivity: Class<*> = SingleFragmentActivity::class.java + override val myPreferenceFragment: Class<*> = MyPreferenceFragment::class.java override fun runAlarm(ctx: Context, status: String, title: String, @RawRes soundId: Int) { val i = Intent(ctx, errorHelperActivity) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt index 0d1c692562..e7a6d7f68c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt @@ -190,7 +190,7 @@ class ConfigBuilderPlugin @Inject constructor( logPluginStatus() } - fun processOnEnabledCategoryChanged(changedPlugin: PluginBase, type: PluginType) { + override fun processOnEnabledCategoryChanged(changedPlugin: PluginBase, type: PluginType) { var pluginsInCategory: ArrayList? = null when (type) { PluginType.INSULIN -> pluginsInCategory = activePlugin.getSpecificPluginsListByInterface(Insulin::class.java) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt index 4950509e43..522bd766fc 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/PluginStore.kt @@ -46,7 +46,7 @@ class PluginStore @Inject constructor( throw IllegalStateException("Default plugin not found") } - fun getSpecificPluginsList(type: PluginType): ArrayList { + override fun getSpecificPluginsList(type: PluginType): ArrayList { val newList = ArrayList() for (p in plugins) { if (p.getType() == type) newList.add(p) diff --git a/app/src/main/res/drawable/ic_exit_to_app.xml b/app/src/main/res/drawable/ic_exit_to_app.xml deleted file mode 100644 index 049c0af2c2..0000000000 --- a/app/src/main/res/drawable/ic_exit_to_app.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index e81b35a0f0..083ecf62c4 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -1,15 +1,6 @@ - - mg/dL - mmol/L - - - mg/dl - mmol - - @string/default_lang @string/en_lang diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b5f9eb2608..ebfaca5093 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -28,7 +28,6 @@ Spanish Swedish Turkish - email_for_crash_report smscommunicator protection absorption_category_settings @@ -51,23 +50,8 @@ Config Builder Overview Treatments - Pump - Which pump would you like to use with AAPS? - Profile - Which profile should AAPS use? - APS - Which APS algorithm should make therapy adjustments? - General - These are some general plugins you might find useful. - Synchronization - Data upload and synchronization plugins. - Which constraints are applied? - Loop - Use this to activate AAPS\' loop integration. Constraints violation Change your input! - BG Source - Where should AAPS gain it\'s data from? Profile Nightscout version: Preferences exported @@ -86,9 +70,6 @@ Old Master Password This file was exported and encrypted with different master password. Provide old master password to decrypt file. As a result of successful import current master password WILL BE REPLACED with that old master password! - End User License Agreement - MUST NOT BE USED TO MAKE MEDICAL DECISIONS. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - I UNDERSTAND AND AGREE Save Reload profile QuickWizard settings @@ -100,7 +81,6 @@ Corr (DANGEROUS TO DISABLE) NS upload only NS upload only (disabled sync). Not effective on SGV unless a local source like xDrip+ is selected. Not effective on Profiles while NS-Profiles is used.\n!!! WARNING !!! Disabling this option may cause malfunctions and insulin overdose if any of your component (AAPS, NS, xDrip+) is wrong configured. Carefully watch if data displayed by AAPS match the pump state! - Units Range for Visualization High and low mark for the charts in Overview and Smartwatch LOW mark @@ -117,11 +97,7 @@ Shorten tab titles Wear settings not successful - please check phone - Patient name - Please provide patient name or nickname to differentiate among multiple setups - I_understand Exiting application to apply settings. - Which type of insulin are you using? Enable superbolus in wizard Enable superbolus functionality in wizard. Do not enable until you learn what it really does. IT MAY CAUSE INSULIN OVERDOSE IF USED BLINDLY! PRED @@ -133,7 +109,6 @@ DEVSLOPE About Missing phone state permission - Do Profile Switch Alarm options ns_announcements ns_alarms @@ -148,8 +123,6 @@ openapsama_autosens_period OpenAPS Uploader - Sensitivity detection - Which sensitivity algorithm should be used? SENS Sensitivity Oref1 Sensitivity AAPS @@ -206,9 +179,6 @@ Show SMB on the watch like a standard bolus. Show the predictions on the watchface. Predictions - Data Choices - Fabric Upload - Allow automated crash reporting and feature usage data to be sent to the developers via the fabric.io service. Please update your Dexcom app to supported version Dexcom app is not installed. Activity @@ -223,11 +193,6 @@ Meal max absorption time [h] Time at which any meal is considered absorbed. Remaining carbs will be cut off. Show notes field in treatment dialogs - SetupWizardActivity - Next - Prev - Setup Wizard - FINISH First insulin increment Second insulin increment Third insulin increment @@ -245,27 +210,12 @@ Calculations included in the Wizard result: Display Settings General Settings - Welcome to setup wizard. It will guide you through the setup process\n - Read status - Skip setup wizard - Press the button below to enable AAPS to suggest/make basal changes - startupwizard_processed - Sensitivity plugin is used for sensitivity detection and COB calculation. For more info visit: - https://androidaps.readthedocs.io/en/latest/Configuration/Sensitivity-detection-and-COB.html - Synchronize data to the cloud. You can skip this part now but you will not be able to pass objectives until you set it up. - Please remember: new insulin profiles require DIA at least 5h. DIA 5–6h on new profile is equal to DIA 3h on old insulin profiles. - Select one from availables algorithms. They are sorted from oldest to newest. Newer algorithm is usually more powerful and more aggressive. Thus if you are new looper you may probably start with AMA and not with latest one. Do not forget to read the OpenAPS documentation and configure it before use. - Please configure your RileyLink below. After selecting a RileyLink, it will be possible to continue setup once the RileyLink status is \"Connected\". This might take a minute.\n - Note: You can continue setup once the pump has been set up.\n - Start your first objective - Ask for permission Open navigation Close navigation Plugin preferences keep_screen_on Remove items Sort items - Stored settings found Attention: If you activate and connect to a hardware pump, AAPS will copy the basal settings from the profile to the pump, overwriting the existing basal rate stored on the pump. Make sure you have the correct basal setting in AAPS. If you are not sure or don\'t want to overwrite the basal settings on your pump, press cancel and repeat switching to the pump at a later time. Treatment data incomplete Maintenance Settings @@ -285,17 +235,13 @@ Miscellaneous Log settings Reset to defaults - Preferred APS mode Send today\'s log files to developers along with this time. Unexpected situation. short_tabtitles == ∑ %1$s U Bolus wizard performs calculation but only this part of calculated insulin is delivered. Useful with SMB algorithm. Units - Select units you want to display values in wear_detailediob wear_showbgi - Lower value of in range area (display only) - Higher value of in range area (display only) Show removed Clear queue? All data in queue will be lost! wear_detailed_delta @@ -306,9 +252,6 @@ graphconfig Authorization failed Absolute insulin - Master password is used for backup encryption and to override security in application. Remember it or store on a safe place. - Current master password - RileyLink status: Unable to create profile. Profile is invalid. Don\'t kill my app? Time to eat!\nRun Bolus wizard and do calculation again. @@ -318,14 +261,9 @@ Graph Clear filter Cannula - Use values of your largest food you usually eat\n - This identification will attached to crash reports so we can contact you in urgent cases. It\'s optional. Email address - Privacy setting - You can provide optional email address if you want to be notified about app crashes. This is not an automated service. You will be contacted by developers in dangerous situations. BG data status Remove BG readings - Identification (email, FB or Discord nick etc) Identification not set in dev mode dialog Not available diff --git a/core/core-main/src/main/res/values/arrays.xml b/core/core-main/src/main/res/values/arrays.xml new file mode 100644 index 0000000000..9edbe10470 --- /dev/null +++ b/core/core-main/src/main/res/values/arrays.xml @@ -0,0 +1,29 @@ + + + + @string/child + @string/teenage + @string/adult + @string/resistant_adult + @string/pregnant + + + @string/key_child + @string/key_teenage + @string/key_adult + @string/key_resistantadult + @string/key_pregnant + + + + @string/closedloop + @string/openloop + @string/lowglucosesuspend + + + closed + open + lgs + + + \ No newline at end of file diff --git a/core/core-main/src/main/res/values/strings.xml b/core/core-main/src/main/res/values/strings.xml index 01b27f9290..56eaaa3ee5 100644 --- a/core/core-main/src/main/res/values/strings.xml +++ b/core/core-main/src/main/res/values/strings.xml @@ -98,6 +98,10 @@ aps_mode boluswizard_percentage key_usersuperbolus + treatmentssafety_maxbolus + patient_name + email_for_crash_report + Refresh @@ -680,6 +684,18 @@ %1$s to %2$s No pump available! + + + Child + Teenage + Adult + Insulin resistant adult + Pregnancy + Please select patient type to setup safety limits + Max allowed bolus [U] + Max allowed carbs [g] + Patient type + %1$d day %1$d days diff --git a/crowdin.yml b/crowdin.yml index 6b43465eec..daaf8587cf 100644 --- a/crowdin.yml +++ b/crowdin.yml @@ -15,6 +15,8 @@ files: translation: /plugins/automation/src/main/res/values-%android_code%/strings.xml - source: /plugins/openhumans/src/main/res/values/strings.xml translation: /plugins/openhumans/src/main/res/values-%android_code%/strings.xml + - source: /plugins/configuration/src/main/res/values/strings.xml + translation: /plugins/configuration/src/main/res/values-%android_code%/strings.xml - source: /core/core-main/src/main/res/values/protection.xml translation: /core/core-main/src/main/res/values-%android_code%/protection.xml - source: /core/core-main/src/main/res/values/validator.xml diff --git a/implementation/src/main/res/values/strings.xml b/implementation/src/main/res/values/strings.xml index 8e9bade932..81c83201ed 100644 --- a/implementation/src/main/res/values/strings.xml +++ b/implementation/src/main/res/values/strings.xml @@ -14,12 +14,11 @@ Basal value below minimum. Profile not set! Request Permission - %1$s needs battery optimization whitelisting for proper performance - Application needs system window permission for notifications - Application needs location permission for BT scan and WiFi identification - Application needs storage permission to be able store log files and export settings Error asking for permissions This device does not appear to support battery optimization whitelisting - you may experience performance issues. + %1$s needs battery optimization whitelisting for proper performance + Application needs location permission for BT scan and WiFi identification + Application needs storage permission to be able store log files and export settings Very low diff --git a/interfaces/src/main/java/info/nightscout/interfaces/ConfigBuilder.kt b/interfaces/src/main/java/info/nightscout/interfaces/ConfigBuilder.kt index ef64088a84..0d8045908e 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/ConfigBuilder.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/ConfigBuilder.kt @@ -4,7 +4,13 @@ import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginType interface ConfigBuilder { + fun initialize() fun storeSettings(from: String) fun performPluginSwitch(changedPlugin: PluginBase, enabled: Boolean, type: PluginType) + + /** + * Make sure plugins configuration is valid after enabling/disabling plugin + */ + fun processOnEnabledCategoryChanged(changedPlugin: PluginBase, type: PluginType) } \ No newline at end of file diff --git a/interfaces/src/main/java/info/nightscout/interfaces/plugin/ActivePlugin.kt b/interfaces/src/main/java/info/nightscout/interfaces/plugin/ActivePlugin.kt index 9bfb4d8a4f..fd22e37b43 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/plugin/ActivePlugin.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/plugin/ActivePlugin.kt @@ -105,4 +105,9 @@ interface ActivePlugin { * Pre-process all plugin types and validate active plugins (ie. only only one plugin for type is selected) */ fun verifySelectionInCategories() + + /** + * List of all plugins of type + */ + fun getSpecificPluginsList(type: PluginType): ArrayList } \ No newline at end of file diff --git a/interfaces/src/main/java/info/nightscout/interfaces/ui/ActivityNames.kt b/interfaces/src/main/java/info/nightscout/interfaces/ui/ActivityNames.kt index e5a7476f8f..27f8469cdc 100644 --- a/interfaces/src/main/java/info/nightscout/interfaces/ui/ActivityNames.kt +++ b/interfaces/src/main/java/info/nightscout/interfaces/ui/ActivityNames.kt @@ -17,6 +17,7 @@ interface ActivityNames { val errorHelperActivity: Class<*> val bolusProgressHelperActivity: Class<*> val singleFragmentActivity: Class<*> + val myPreferenceFragment: Class<*> /** * Show ErrorHelperActivity and start alarm diff --git a/plugins/configuration/.gitignore b/plugins/configuration/.gitignore new file mode 100644 index 0000000000..42afabfd2a --- /dev/null +++ b/plugins/configuration/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/plugins/configuration/build.gradle b/plugins/configuration/build.gradle new file mode 100644 index 0000000000..d6c349f558 --- /dev/null +++ b/plugins/configuration/build.gradle @@ -0,0 +1,27 @@ +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' + id 'kotlin-allopen' + id 'com.hiya.jacoco-android' +} + +apply from: "${project.rootDir}/core/core-main/android_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/android_module_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/allopen_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/test_dependencies.gradle" +apply from: "${project.rootDir}/core/core-main/jacoco_global.gradle" +android { + namespace 'info.nightscout.configuration' +} + + +dependencies { + implementation project(':interfaces') + implementation project(':app-wear-shared:rx') + implementation project(':app-wear-shared:shared') + implementation project(':database:entities') + implementation project(':core:core-main') + implementation project(':core:fabric') + implementation project(':core:ui') +} \ No newline at end of file diff --git a/plugins/configuration/consumer-rules.pro b/plugins/configuration/consumer-rules.pro new file mode 100644 index 0000000000..e69de29bb2 diff --git a/plugins/configuration/proguard-rules.pro b/plugins/configuration/proguard-rules.pro new file mode 100644 index 0000000000..481bb43481 --- /dev/null +++ b/plugins/configuration/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/plugins/configuration/src/main/AndroidManifest.xml b/plugins/configuration/src/main/AndroidManifest.xml new file mode 100644 index 0000000000..28271548b7 --- /dev/null +++ b/plugins/configuration/src/main/AndroidManifest.xml @@ -0,0 +1,14 @@ + + + + + + + + + \ No newline at end of file diff --git a/plugins/configuration/src/main/java/info/nightscout/configuration/di/ConfigurationModule.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/di/ConfigurationModule.kt new file mode 100644 index 0000000000..9671a0f704 --- /dev/null +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/di/ConfigurationModule.kt @@ -0,0 +1,10 @@ +package info.nightscout.configuration.di + +import dagger.Module + +@Module( + includes = [ + SetupWizardModule::class + ] +) +open class ConfigurationModule \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/di/WizardModule.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/di/SetupWizardModule.kt similarity index 51% rename from app/src/main/java/info/nightscout/androidaps/di/WizardModule.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/di/SetupWizardModule.kt index ee17fb3b3d..2d4b77c95f 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/WizardModule.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/di/SetupWizardModule.kt @@ -1,28 +1,31 @@ -package info.nightscout.androidaps.di +package info.nightscout.configuration.di import dagger.Module import dagger.android.ContributesAndroidInjector -import info.nightscout.androidaps.setupwizard.SWEventListener -import info.nightscout.androidaps.setupwizard.SWScreen -import info.nightscout.androidaps.setupwizard.elements.SWBreak -import info.nightscout.androidaps.setupwizard.elements.SWButton -import info.nightscout.androidaps.setupwizard.elements.SWEditEncryptedPassword -import info.nightscout.androidaps.setupwizard.elements.SWEditIntNumber -import info.nightscout.androidaps.setupwizard.elements.SWEditNumber -import info.nightscout.androidaps.setupwizard.elements.SWEditNumberWithUnits -import info.nightscout.androidaps.setupwizard.elements.SWEditString -import info.nightscout.androidaps.setupwizard.elements.SWEditUrl -import info.nightscout.androidaps.setupwizard.elements.SWFragment -import info.nightscout.androidaps.setupwizard.elements.SWHtmlLink -import info.nightscout.androidaps.setupwizard.elements.SWInfoText -import info.nightscout.androidaps.setupwizard.elements.SWItem -import info.nightscout.androidaps.setupwizard.elements.SWPlugin -import info.nightscout.androidaps.setupwizard.elements.SWPreference -import info.nightscout.androidaps.setupwizard.elements.SWRadioButton +import info.nightscout.configuration.setupwizard.SWEventListener +import info.nightscout.configuration.setupwizard.SWScreen +import info.nightscout.configuration.setupwizard.SetupWizardActivity +import info.nightscout.configuration.setupwizard.elements.SWBreak +import info.nightscout.configuration.setupwizard.elements.SWButton +import info.nightscout.configuration.setupwizard.elements.SWEditEncryptedPassword +import info.nightscout.configuration.setupwizard.elements.SWEditIntNumber +import info.nightscout.configuration.setupwizard.elements.SWEditNumber +import info.nightscout.configuration.setupwizard.elements.SWEditNumberWithUnits +import info.nightscout.configuration.setupwizard.elements.SWEditString +import info.nightscout.configuration.setupwizard.elements.SWEditUrl +import info.nightscout.configuration.setupwizard.elements.SWFragment +import info.nightscout.configuration.setupwizard.elements.SWHtmlLink +import info.nightscout.configuration.setupwizard.elements.SWInfoText +import info.nightscout.configuration.setupwizard.elements.SWItem +import info.nightscout.configuration.setupwizard.elements.SWPlugin +import info.nightscout.configuration.setupwizard.elements.SWPreference +import info.nightscout.configuration.setupwizard.elements.SWRadioButton @Module @Suppress("unused") -abstract class WizardModule { +abstract class SetupWizardModule { + + @ContributesAndroidInjector abstract fun contributesSetupWizardActivity(): SetupWizardActivity @ContributesAndroidInjector abstract fun swBreakInjector(): SWBreak @ContributesAndroidInjector abstract fun swButtonInjector(): SWButton diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWDefinition.kt similarity index 80% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWDefinition.kt index a89e480ac4..79c6ab6609 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWDefinition.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard +package info.nightscout.configuration.setupwizard import android.Manifest import android.content.Context @@ -7,23 +7,23 @@ import android.net.Uri import android.provider.Settings import androidx.appcompat.app.AppCompatActivity import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R import info.nightscout.androidaps.data.ProfileSealed -import info.nightscout.androidaps.setupwizard.elements.SWBreak -import info.nightscout.androidaps.setupwizard.elements.SWButton -import info.nightscout.androidaps.setupwizard.elements.SWEditEncryptedPassword -import info.nightscout.androidaps.setupwizard.elements.SWEditIntNumber -import info.nightscout.androidaps.setupwizard.elements.SWEditNumber -import info.nightscout.androidaps.setupwizard.elements.SWEditNumberWithUnits -import info.nightscout.androidaps.setupwizard.elements.SWEditString -import info.nightscout.androidaps.setupwizard.elements.SWFragment -import info.nightscout.androidaps.setupwizard.elements.SWHtmlLink -import info.nightscout.androidaps.setupwizard.elements.SWInfoText -import info.nightscout.androidaps.setupwizard.elements.SWPlugin -import info.nightscout.androidaps.setupwizard.elements.SWPreference -import info.nightscout.androidaps.setupwizard.elements.SWRadioButton import info.nightscout.androidaps.utils.CryptoUtil import info.nightscout.androidaps.utils.extensions.isRunningTest +import info.nightscout.configuration.R +import info.nightscout.configuration.setupwizard.elements.SWBreak +import info.nightscout.configuration.setupwizard.elements.SWButton +import info.nightscout.configuration.setupwizard.elements.SWEditEncryptedPassword +import info.nightscout.configuration.setupwizard.elements.SWEditIntNumber +import info.nightscout.configuration.setupwizard.elements.SWEditNumber +import info.nightscout.configuration.setupwizard.elements.SWEditNumberWithUnits +import info.nightscout.configuration.setupwizard.elements.SWEditString +import info.nightscout.configuration.setupwizard.elements.SWFragment +import info.nightscout.configuration.setupwizard.elements.SWHtmlLink +import info.nightscout.configuration.setupwizard.elements.SWInfoText +import info.nightscout.configuration.setupwizard.elements.SWPlugin +import info.nightscout.configuration.setupwizard.elements.SWPreference +import info.nightscout.configuration.setupwizard.elements.SWRadioButton import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.Config import info.nightscout.interfaces.ConfigBuilder @@ -99,47 +99,51 @@ class SWDefinition @Inject constructor( .label(R.string.end_user_license_agreement_text) ) .add(SWBreak(injector)) - .add(SWButton(injector) - .text(R.string.end_user_license_agreement_i_understand) - .visibility { !sp.getBoolean(R.string.key_i_understand, false) } - .action { - sp.putBoolean(R.string.key_i_understand, true) - rxBus.send(EventSWUpdate(false)) - }) + .add( + SWButton(injector) + .text(R.string.end_user_license_agreement_i_understand) + .visibility { !sp.getBoolean(R.string.key_i_understand, false) } + .action { + sp.putBoolean(R.string.key_i_understand, true) + rxBus.send(EventSWUpdate(false)) + }) .visibility { !sp.getBoolean(R.string.key_i_understand, false) } .validator { sp.getBoolean(R.string.key_i_understand, false) } - private val screenUnits get() = SWScreen(injector, R.string.units) - .skippable(false) - .add( - SWRadioButton(injector) - .option(R.array.unitsArray, R.array.unitsValues) - .preferenceId(R.string.key_units).label(R.string.units) - .comment(R.string.setupwizard_units_prompt) - ) - .validator { sp.contains(R.string.key_units) } + private val screenUnits + get() = SWScreen(injector, R.string.units) + .skippable(false) + .add( + SWRadioButton(injector) + .option(R.array.unitsArray, R.array.unitsValues) + .preferenceId(R.string.key_units).label(R.string.units) + .comment(R.string.setupwizard_units_prompt) + ) + .validator { sp.contains(R.string.key_units) } - private val displaySettings get() = SWScreen(injector, R.string.wear_display_settings) - .skippable(false) - .add( - SWEditNumberWithUnits(injector, Constants.LOW_MARK * Constants.MGDL_TO_MMOLL, 3.0, 8.0) - .preferenceId(R.string.key_low_mark) - .updateDelay(5) - .label(R.string.low_mark) - .comment(R.string.low_mark_comment) - ) - .add(SWBreak(injector)) - .add( - SWEditNumberWithUnits(injector, Constants.HIGH_MARK * Constants.MGDL_TO_MMOLL, 5.0, 20.0) - .preferenceId(R.string.key_high_mark) - .updateDelay(5) - .label(R.string.high_mark) - .comment(R.string.high_mark_comment) - ) + private val displaySettings + get() = SWScreen(injector, R.string.display_settings) + .skippable(false) + .add( + SWEditNumberWithUnits(injector, Constants.LOW_MARK * Constants.MGDL_TO_MMOLL, 3.0, 8.0) + .preferenceId(R.string.key_low_mark) + .updateDelay(5) + .label(R.string.low_mark) + .comment(R.string.low_mark_comment) + ) + .add(SWBreak(injector)) + .add( + SWEditNumberWithUnits(injector, Constants.HIGH_MARK * Constants.MGDL_TO_MMOLL, 5.0, 20.0) + .preferenceId(R.string.key_high_mark) + .updateDelay(5) + .label(R.string.high_mark) + .comment(R.string.high_mark_comment) + ) - private val screenPermissionWindow get() = SWScreen(injector, R.string.permission) - .skippable(false) - .add( + private val screenPermissionWindow + get() = SWScreen(injector, R.string.permission) + .skippable(false) + .add( SWInfoText(injector) .label(rh.gs(R.string.need_system_window_permission)) ) @@ -155,7 +159,7 @@ class SWDefinition @Inject constructor( .skippable(false) .add( SWInfoText(injector) - .label(rh.gs(R.string.need_whitelisting, rh.gs(R.string.app_name))) + .label(rh.gs(R.string.need_whitelisting, rh.gs(config.appName))) ) .add(SWBreak(injector)) .add(SWButton(injector) @@ -265,29 +269,29 @@ class SWDefinition @Inject constructor( ) .validator { !cryptoUtil.checkPassword("", sp.getString(R.string.key_master_password, "")) } - private val screenAge get() = SWScreen(injector, R.string.patientage) + private val screenAge get() = SWScreen(injector, R.string.patient_type) .skippable(false) .add(SWBreak(injector)) .add( SWRadioButton(injector) .option(R.array.ageArray, R.array.ageValues) .preferenceId(R.string.key_age) - .label(R.string.patientage) - .comment(R.string.patientage_summary) + .label(R.string.patient_type) + .comment(R.string.patient_age_summary) ) .add(SWBreak(injector)) .add( SWEditNumber(injector, 3.0, 0.1, 25.0) .preferenceId(R.string.key_treatmentssafety_maxbolus) .updateDelay(5) - .label(R.string.treatmentssafety_maxbolus_title) + .label(R.string.max_bolus_title) .comment(R.string.common_values) ) .add( SWEditIntNumber(injector, 48, 1, 100) .preferenceId(R.string.key_treatmentssafety_maxcarbs) .updateDelay(5) - .label(R.string.treatmentssafety_maxcarbs_title) + .label(R.string.max_carbs_title) .comment(R.string.common_values) ) .validator { @@ -310,29 +314,38 @@ class SWDefinition @Inject constructor( .label(R.string.diawarning) ) - private val screenBgSource get() = SWScreen(injector, R.string.configbuilder_bgsource) - .skippable(false) - .add( - SWPlugin(injector, this) - .option(PluginType.BGSOURCE, R.string.configbuilder_bgsource_description) - .label(R.string.configbuilder_bgsource) - ) - .add(SWBreak(injector)) + private val screenBgSource + get() = SWScreen(injector, R.string.configbuilder_bgsource) + .skippable(false) + .add( + SWPlugin(injector, this) + .option(PluginType.BGSOURCE, R.string.configbuilder_bgsource_description) + .label(R.string.configbuilder_bgsource) + ) + .add(SWBreak(injector)) - private val screenLocalProfile get() = SWScreen(injector, R.string.localprofile) - .skippable(false) - .add( - SWFragment(injector, this) - .add(activity.supportFragmentManager.fragmentFactory.instantiate(ClassLoader.getSystemClassLoader(), (activePlugin.activeProfileSource as PluginBase).pluginDescription.fragmentClass!!)) + private val screenLocalProfile + get() = SWScreen(injector, R.string.profile) + .skippable(false) + .add( + SWFragment(injector, this) + .add( + activity.supportFragmentManager.fragmentFactory.instantiate( + ClassLoader.getSystemClassLoader(), + (activePlugin.activeProfileSource as PluginBase).pluginDescription.fragmentClass!! + ) + ) //.add(ProfileFragment()) - ) - .validator { - activePlugin.activeProfileSource.profile?.getDefaultProfile()?.let { ProfileSealed.Pure(it).isValid("StartupWizard", activePlugin.activePump, config, rh, rxBus, hardLimits, false).isValid } - ?: false - } - .visibility { (activePlugin.activeProfileSource as PluginBase).isEnabled() } + ) + .validator { + activePlugin.activeProfileSource.profile?.getDefaultProfile() + ?.let { ProfileSealed.Pure(it).isValid("StartupWizard", activePlugin.activePump, config, rh, rxBus, hardLimits, false).isValid } + ?: false + } + .visibility { (activePlugin.activeProfileSource as PluginBase).isEnabled() } - private val screenProfileSwitch get() = SWScreen(injector, R.string.careportal_profileswitch) + private val screenProfileSwitch + get() = SWScreen(injector, R.string.careportal_profileswitch) .skippable(false) .add( SWInfoText(injector) @@ -404,7 +417,7 @@ class SWDefinition @Inject constructor( .add(SWBreak(injector)) .add( SWHtmlLink(injector) - .label("https://openaps.readthedocs.io/en/latest/") + .label("https://wiki.aaps.app") ) .add(SWBreak(injector)) diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWEventListener.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWEventListener.kt similarity index 94% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/SWEventListener.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWEventListener.kt index ac718a414a..9b7d0c58da 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWEventListener.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWEventListener.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard +package info.nightscout.configuration.setupwizard import android.annotation.SuppressLint import android.content.Context @@ -6,7 +6,7 @@ import android.view.View import android.widget.LinearLayout import android.widget.TextView import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.setupwizard.elements.SWItem +import info.nightscout.configuration.setupwizard.elements.SWItem import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventStatus import io.reactivex.rxjava3.disposables.CompositeDisposable diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWIntNumberValidator.java b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWIntNumberValidator.java similarity index 67% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/SWIntNumberValidator.java rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWIntNumberValidator.java index 039f9e1687..3a770201da 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWIntNumberValidator.java +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWIntNumberValidator.java @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard; +package info.nightscout.configuration.setupwizard; // keep in java, it's easier public interface SWIntNumberValidator { diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWNumberValidator.java b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWNumberValidator.java similarity index 67% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/SWNumberValidator.java rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWNumberValidator.java index fe22e4ccd8..af917207c1 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWNumberValidator.java +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWNumberValidator.java @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard; +package info.nightscout.configuration.setupwizard; // keep in java, it's easier public interface SWNumberValidator { diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWScreen.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWScreen.kt similarity index 89% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/SWScreen.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWScreen.kt index d6c1d0b298..24745cbcaf 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWScreen.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWScreen.kt @@ -1,9 +1,8 @@ -package info.nightscout.androidaps.setupwizard +package info.nightscout.configuration.setupwizard import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.setupwizard.elements.SWItem +import info.nightscout.configuration.setupwizard.elements.SWItem import info.nightscout.shared.interfaces.ResourceHelper -import java.util.* import javax.inject.Inject class SWScreen(val injector: HasAndroidInjector, private var header: Int) { diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWTextValidator.java b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWTextValidator.java similarity index 66% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/SWTextValidator.java rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWTextValidator.java index 607d3a6298..72aa29b91d 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWTextValidator.java +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWTextValidator.java @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard; +package info.nightscout.configuration.setupwizard; // keep in java, it's easier public interface SWTextValidator { diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWValidator.java b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWValidator.java similarity index 62% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/SWValidator.java rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWValidator.java index e7a604deef..a57beab67c 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWValidator.java +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SWValidator.java @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard; +package info.nightscout.configuration.setupwizard; // keep in java, it's easier public interface SWValidator { diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SetupWizardActivity.kt similarity index 94% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SetupWizardActivity.kt index 853c5fb950..df03eaff95 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/SetupWizardActivity.kt @@ -1,18 +1,18 @@ -package info.nightscout.androidaps.setupwizard +package info.nightscout.configuration.setupwizard import android.content.Intent import android.os.Bundle import android.view.View import android.widget.TextView import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.MainActivity -import info.nightscout.androidaps.R import info.nightscout.androidaps.activities.NoSplashAppCompatActivity -import info.nightscout.androidaps.databinding.ActivitySetupwizardBinding -import info.nightscout.androidaps.setupwizard.elements.SWItem +import info.nightscout.configuration.R +import info.nightscout.configuration.databinding.ActivitySetupwizardBinding +import info.nightscout.configuration.setupwizard.elements.SWItem import info.nightscout.core.fabric.FabricPrivacy import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.interfaces.locale.LocaleHelper.update +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.events.EventProfileStoreChanged import info.nightscout.rx.events.EventProfileSwitchChanged @@ -34,6 +34,7 @@ class SetupWizardActivity : NoSplashAppCompatActivity() { @Inject lateinit var sp: SP @Inject lateinit var fabricPrivacy: FabricPrivacy @Inject lateinit var aapsSchedulers: AapsSchedulers + @Inject lateinit var activityNames: ActivityNames private val disposable = CompositeDisposable() private lateinit var screens: List @@ -163,7 +164,7 @@ class SetupWizardActivity : NoSplashAppCompatActivity() { @Suppress("UNUSED_PARAMETER") fun finishSetupWizard(view: View?) { sp.putBoolean(R.string.key_setupwizard_processed, true) - val intent = Intent(this, MainActivity::class.java) + val intent = Intent(this, activityNames.mainActivity) intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) startActivity(intent) finish() diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWBreak.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWBreak.kt similarity index 87% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWBreak.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWBreak.kt index 2d6f4926a3..b200969569 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWBreak.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWBreak.kt @@ -1,10 +1,10 @@ -package info.nightscout.androidaps.setupwizard.elements +package info.nightscout.configuration.setupwizard.elements import android.view.View import android.widget.LinearLayout import android.widget.TextView import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.setupwizard.SWValidator +import info.nightscout.configuration.setupwizard.SWValidator class SWBreak(injector: HasAndroidInjector) : SWItem(injector, Type.BREAK) { private var l: TextView? = null diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWButton.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWButton.kt similarity index 91% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWButton.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWButton.kt index cb8bb567b4..2b8d8d248f 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWButton.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWButton.kt @@ -1,10 +1,10 @@ -package info.nightscout.androidaps.setupwizard.elements +package info.nightscout.configuration.setupwizard.elements import android.view.View import android.widget.Button import android.widget.LinearLayout import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.setupwizard.SWValidator +import info.nightscout.configuration.setupwizard.SWValidator class SWButton(injector: HasAndroidInjector) : SWItem(injector, Type.BUTTON) { private var buttonRunnable: Runnable? = null diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditEncryptedPassword.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditEncryptedPassword.kt similarity index 94% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditEncryptedPassword.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditEncryptedPassword.kt index 5d9c5e71b6..a23f37217c 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditEncryptedPassword.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditEncryptedPassword.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard.elements +package info.nightscout.configuration.setupwizard.elements import android.graphics.Typeface import android.text.Editable @@ -10,14 +10,15 @@ import android.widget.EditText import android.widget.LinearLayout import android.widget.TextView import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R -import info.nightscout.shared.extensions.toVisibility -import info.nightscout.androidaps.setupwizard.SWTextValidator import info.nightscout.androidaps.utils.CryptoUtil +import info.nightscout.configuration.R +import info.nightscout.configuration.setupwizard.SWTextValidator +import info.nightscout.shared.extensions.toVisibility class SWEditEncryptedPassword(injector: HasAndroidInjector, private val cryptoUtil: CryptoUtil) : SWItem(injector, Type.STRING) { - private var validator: SWTextValidator = SWTextValidator(String::isNotEmpty) + private var validator: SWTextValidator = + SWTextValidator(String::isNotEmpty) private var updateDelay = 0L private var button: Button? = null private var editText: EditText? = null diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditIntNumber.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditIntNumber.kt similarity index 89% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditIntNumber.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditIntNumber.kt index 40194c950f..e6e147a241 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditIntNumber.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditIntNumber.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard.elements +package info.nightscout.configuration.setupwizard.elements import android.graphics.Typeface import android.text.Editable @@ -7,14 +7,15 @@ import android.view.View import android.widget.LinearLayout import android.widget.TextView import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.setupwizard.SWIntNumberValidator +import info.nightscout.configuration.setupwizard.SWIntNumberValidator import info.nightscout.core.ui.elements.NumberPicker import info.nightscout.shared.SafeParse import java.text.DecimalFormat class SWEditIntNumber(injector: HasAndroidInjector, private val init: Int, private val min: Int, private val max: Int) : SWItem(injector, Type.NUMBER) { - private val validator: SWIntNumberValidator = SWIntNumberValidator { value -> value in min..max } + private val validator: SWIntNumberValidator = + SWIntNumberValidator { value -> value in min..max } private var updateDelay = 0 override fun generateDialog(layout: LinearLayout) { diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumber.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditNumber.kt similarity index 89% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumber.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditNumber.kt index b8ce64b142..65efa138d2 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumber.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditNumber.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard.elements +package info.nightscout.configuration.setupwizard.elements import android.graphics.Typeface import android.text.Editable @@ -7,14 +7,15 @@ import android.view.View import android.widget.LinearLayout import android.widget.TextView import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.setupwizard.SWNumberValidator +import info.nightscout.configuration.setupwizard.SWNumberValidator import info.nightscout.core.ui.elements.NumberPicker import info.nightscout.shared.SafeParse import java.text.DecimalFormat class SWEditNumber(injector: HasAndroidInjector, private val init: Double, private val min: Double, private val max: Double) : SWItem(injector, Type.DECIMAL_NUMBER) { - private val validator: SWNumberValidator = SWNumberValidator { value -> value in min..max } + private val validator: SWNumberValidator = + SWNumberValidator { value -> value in min..max } private var updateDelay = 0 override fun generateDialog(layout: LinearLayout) { diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumberWithUnits.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditNumberWithUnits.kt similarity index 91% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumberWithUnits.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditNumberWithUnits.kt index b45442ef10..981ac22b69 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumberWithUnits.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditNumberWithUnits.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard.elements +package info.nightscout.configuration.setupwizard.elements import android.graphics.Typeface import android.text.Editable @@ -7,7 +7,7 @@ import android.view.View import android.widget.LinearLayout import android.widget.TextView import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.setupwizard.SWNumberValidator +import info.nightscout.configuration.setupwizard.SWNumberValidator import info.nightscout.core.profile.toCurrentUnits import info.nightscout.core.ui.elements.NumberPicker import info.nightscout.interfaces.GlucoseUnit @@ -21,7 +21,8 @@ class SWEditNumberWithUnits(injector: HasAndroidInjector, private val init: Doub @Inject lateinit var profileFunction: ProfileFunction - private val validator: SWNumberValidator = SWNumberValidator { value -> value in min..max } + private val validator: SWNumberValidator = + SWNumberValidator { value -> value in min..max } private var updateDelay = 0 override fun generateDialog(layout: LinearLayout) { diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditString.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditString.kt similarity index 94% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditString.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditString.kt index ccd48a9e1f..5b6ef2ddf4 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditString.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditString.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard.elements +package info.nightscout.configuration.setupwizard.elements import android.graphics.Typeface import android.text.Editable @@ -9,7 +9,7 @@ import android.widget.EditText import android.widget.LinearLayout import android.widget.TextView import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.setupwizard.SWTextValidator +import info.nightscout.configuration.setupwizard.SWTextValidator class SWEditString(injector: HasAndroidInjector) : SWItem(injector, Type.STRING) { diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditUrl.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditUrl.kt similarity index 92% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditUrl.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditUrl.kt index 1f3d938bbb..69a19213ad 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditUrl.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWEditUrl.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard.elements +package info.nightscout.configuration.setupwizard.elements import android.graphics.Typeface import android.text.Editable @@ -10,8 +10,8 @@ import android.widget.EditText import android.widget.LinearLayout import android.widget.TextView import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.R -import info.nightscout.androidaps.setupwizard.events.EventSWLabel +import info.nightscout.configuration.R +import info.nightscout.configuration.setupwizard.events.EventSWLabel class SWEditUrl(injector: HasAndroidInjector) : SWItem(injector, Type.URL) { private var updateDelay = 0L diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWFragment.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWFragment.kt similarity index 82% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWFragment.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWFragment.kt index d90890f068..344dbacc57 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWFragment.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWFragment.kt @@ -1,9 +1,9 @@ -package info.nightscout.androidaps.setupwizard.elements +package info.nightscout.configuration.setupwizard.elements import android.widget.LinearLayout import androidx.fragment.app.Fragment import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.setupwizard.SWDefinition +import info.nightscout.configuration.setupwizard.SWDefinition class SWFragment(injector:HasAndroidInjector, private var definition: SWDefinition) : SWItem(injector, Type.FRAGMENT) { lateinit var fragment: Fragment diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWHtmlLink.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWHtmlLink.kt similarity index 91% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWHtmlLink.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWHtmlLink.kt index 0fcf650896..ce0a1233e2 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWHtmlLink.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWHtmlLink.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard.elements +package info.nightscout.configuration.setupwizard.elements import android.text.util.Linkify import android.view.View @@ -6,7 +6,7 @@ import android.widget.LinearLayout import android.widget.TextView import androidx.annotation.StringRes import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.setupwizard.SWValidator +import info.nightscout.configuration.setupwizard.SWValidator class SWHtmlLink(injector: HasAndroidInjector) : SWItem(injector, Type.HTML_LINK) { diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWInfoText.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWInfoText.kt similarity index 90% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWInfoText.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWInfoText.kt index 9a8e0f00cd..e941c4d092 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWInfoText.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWInfoText.kt @@ -1,10 +1,10 @@ -package info.nightscout.androidaps.setupwizard.elements +package info.nightscout.configuration.setupwizard.elements import android.view.View import android.widget.LinearLayout import android.widget.TextView import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.setupwizard.SWValidator +import info.nightscout.configuration.setupwizard.SWValidator class SWInfoText(injector: HasAndroidInjector) : SWItem(injector, Type.TEXT) { private var textLabel: String? = null diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWItem.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWItem.kt similarity index 98% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWItem.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWItem.kt index 22a0d28a85..9dd004bb88 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWItem.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWItem.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard.elements +package info.nightscout.configuration.setupwizard.elements import android.content.Context import android.content.ContextWrapper diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPlugin.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWPlugin.kt similarity index 73% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPlugin.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWPlugin.kt index 6faeae5233..5eab2a5765 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPlugin.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWPlugin.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard.elements +package info.nightscout.configuration.setupwizard.elements import android.os.Bundle import android.view.View @@ -7,28 +7,30 @@ import android.widget.LinearLayout import android.widget.RadioButton import android.widget.RadioGroup import android.widget.TextView +import androidx.fragment.app.Fragment import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.activities.MyPreferenceFragment -import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin -import info.nightscout.androidaps.plugins.configBuilder.PluginStore -import info.nightscout.androidaps.setupwizard.SWDefinition -import info.nightscout.rx.events.EventSWUpdate +import info.nightscout.configuration.setupwizard.SWDefinition +import info.nightscout.interfaces.ConfigBuilder +import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.PluginBase import info.nightscout.interfaces.plugin.PluginType +import info.nightscout.interfaces.ui.ActivityNames import info.nightscout.rx.events.EventConfigBuilderChange +import info.nightscout.rx.events.EventSWUpdate import javax.inject.Inject class SWPlugin(injector: HasAndroidInjector, private val definition: SWDefinition) : SWItem(injector, Type.PLUGIN) { - @Inject lateinit var pluginStore: PluginStore - @Inject lateinit var configBuilderPlugin: ConfigBuilderPlugin + @Inject lateinit var activePlugin: ActivePlugin + @Inject lateinit var configBuilder: ConfigBuilder + @Inject lateinit var activityNames: ActivityNames private var pType: PluginType? = null private var radioGroup: RadioGroup? = null private var pluginDescription = 0 private var makeVisible = true - private var fragment: MyPreferenceFragment? = null + private var fragment: Fragment? = null fun option(pType: PluginType, pluginDescription: Int): SWPlugin { this.pType = pType @@ -46,7 +48,7 @@ class SWPlugin(injector: HasAndroidInjector, private val definition: SWDefinitio val context = layout.context radioGroup = RadioGroup(context) radioGroup?.clearCheck() - val pluginsInCategory = pluginStore.getSpecificPluginsList(pType!!) + val pluginsInCategory = activePlugin.getSpecificPluginsList(pType!!) radioGroup?.orientation = LinearLayout.VERTICAL radioGroup?.visibility = View.VISIBLE val pDesc = TextView(context) @@ -78,8 +80,8 @@ class SWPlugin(injector: HasAndroidInjector, private val definition: SWDefinitio val plugin = rb.tag as PluginBase plugin.setPluginEnabled(pType!!, rb.isChecked) plugin.setFragmentVisible(pType!!, rb.isChecked && makeVisible) - configBuilderPlugin.processOnEnabledCategoryChanged(plugin, pType!!) - configBuilderPlugin.storeSettings("SetupWizard") + configBuilder.processOnEnabledCategoryChanged(plugin, pType!!) + configBuilder.storeSettings("SetupWizard") rxBus.send(EventConfigBuilderChange()) rxBus.send(EventSWUpdate(false)) addConfiguration(layout, plugin) @@ -91,15 +93,17 @@ class SWPlugin(injector: HasAndroidInjector, private val definition: SWDefinitio private fun addConfiguration(layout: LinearLayout, plugin: PluginBase) { if (plugin.preferencesId != -1) { - fragment = MyPreferenceFragment() - fragment?.arguments = Bundle().also { it.putInt("id", plugin.preferencesId) } - definition.activity.supportFragmentManager.beginTransaction().run { - replace(layout.id, fragment!!) - commit() + fragment = Class.forName(activityNames.myPreferenceFragment.name).newInstance() as Fragment //MyPreferenceFragment() + fragment?.let { + it.arguments = Bundle().also { it.putInt("id", plugin.preferencesId) } + definition.activity.supportFragmentManager.beginTransaction().run { + replace(layout.id, it) + commit() + } } } else { definition.activity.supportFragmentManager.beginTransaction().run { - if (fragment != null) remove(fragment!!) + fragment?.let { remove(it) } fragment = null commit() } diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPreference.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWPreference.kt similarity index 63% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPreference.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWPreference.kt index 7abafa7c82..0c0bda1914 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWPreference.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWPreference.kt @@ -1,18 +1,16 @@ -package info.nightscout.androidaps.setupwizard.elements +package info.nightscout.configuration.setupwizard.elements import android.os.Bundle import android.widget.LinearLayout +import androidx.fragment.app.Fragment import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.activities.MyPreferenceFragment -import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin -import info.nightscout.androidaps.plugins.configBuilder.PluginStore -import info.nightscout.androidaps.setupwizard.SWDefinition +import info.nightscout.configuration.setupwizard.SWDefinition +import info.nightscout.interfaces.ui.ActivityNames import javax.inject.Inject class SWPreference(injector: HasAndroidInjector, private val definition: SWDefinition) : SWItem(injector, Type.PREFERENCE) { - @Inject lateinit var pluginStore: PluginStore - @Inject lateinit var configBuilderPlugin: ConfigBuilderPlugin + @Inject lateinit var activityNames: ActivityNames private var xml: Int = -1 @@ -27,7 +25,7 @@ class SWPreference(injector: HasAndroidInjector, private val definition: SWDefin } private fun addConfiguration(layout: LinearLayout, xml: Int) { - MyPreferenceFragment().also { fragment -> + (Class.forName(activityNames.myPreferenceFragment.name).newInstance() as Fragment).also { fragment -> fragment.arguments = Bundle().also { it.putInt("id", xml) } definition.activity.supportFragmentManager.beginTransaction().run { replace(layout.id, fragment) diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWRadioButton.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWRadioButton.kt similarity index 95% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWRadioButton.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWRadioButton.kt index 7a8113a435..feff82a277 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWRadioButton.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/elements/SWRadioButton.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard.elements +package info.nightscout.configuration.setupwizard.elements import android.view.View import android.view.ViewGroup @@ -23,7 +23,7 @@ class SWRadioButton(injector: HasAndroidInjector) : SWItem(injector, Type.RADIOB return rh.gsa(labelsArray) } - fun values(): Array { + private fun values(): Array { return rh.gsa(valuesArray) } diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/events/EventSWLabel.kt b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/events/EventSWLabel.kt similarity index 60% rename from app/src/main/java/info/nightscout/androidaps/setupwizard/events/EventSWLabel.kt rename to plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/events/EventSWLabel.kt index 4c9322ec3c..0151e372c7 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/events/EventSWLabel.kt +++ b/plugins/configuration/src/main/java/info/nightscout/configuration/setupwizard/events/EventSWLabel.kt @@ -1,4 +1,4 @@ -package info.nightscout.androidaps.setupwizard.events +package info.nightscout.configuration.setupwizard.events import info.nightscout.rx.events.Event diff --git a/plugins/configuration/src/main/res/drawable/ic_exit_to_app.xml b/plugins/configuration/src/main/res/drawable/ic_exit_to_app.xml new file mode 100644 index 0000000000..ce1caf7dfe --- /dev/null +++ b/plugins/configuration/src/main/res/drawable/ic_exit_to_app.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/layout/activity_setupwizard.xml b/plugins/configuration/src/main/res/layout/activity_setupwizard.xml similarity index 97% rename from app/src/main/res/layout/activity_setupwizard.xml rename to plugins/configuration/src/main/res/layout/activity_setupwizard.xml index a60004b8f8..0941bd9d72 100644 --- a/app/src/main/res/layout/activity_setupwizard.xml +++ b/plugins/configuration/src/main/res/layout/activity_setupwizard.xml @@ -5,7 +5,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" - tools:context=".setupwizard.SetupWizardActivity"> + tools:context="info.nightscout.configuration.setupwizard.SetupWizardActivity"> + + + + mg/dL + mmol/L + + + mg/dl + mmol + + + \ No newline at end of file diff --git a/plugins/configuration/src/main/res/values/strings.xml b/plugins/configuration/src/main/res/values/strings.xml new file mode 100644 index 0000000000..d3cffca1b2 --- /dev/null +++ b/plugins/configuration/src/main/res/values/strings.xml @@ -0,0 +1,79 @@ + + + I_understand + + Units + Select units you want to display values in + SetupWizardActivity + Next + Prev + Setup Wizard + FINISH + Welcome to setup wizard. It will guide you through the setup process\n + End User License Agreement + MUST NOT BE USED TO MAKE MEDICAL DECISIONS. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + I UNDERSTAND AND AGREE + Display Settings + LOW mark + HIGH mark + Lower value of in range area (display only) + Higher value of in range area (display only) + Permission + Application needs system window permission for notifications + Application needs location permission for BT scan and WiFi identification + Application needs storage permission to be able store log files and export settings + Ask for permission + %1$s needs battery optimization whitelisting for proper performance + Import settings + Stored settings found + Master password is used for backup encryption and to override security in application. Remember it or store on a safe place. + Current master password + Use values of your largest food you usually eat\n + Synchronize data to the cloud. You can skip this part now but you will not be able to pass objectives until you set it up. + Status: + Patient name + Please provide patient name or nickname to differentiate among multiple setups + Privacy setting + You can provide optional email address if you want to be notified about app crashes. This is not an automated service. You will be contacted by developers in dangerous situations. + Please remember: new insulin profiles require DIA at least 5h. DIA 5–6h on new profile is equal to DIA 3h on old insulin profiles. + Profile + Do Profile Switch + Skip setup wizard + Press the button below to enable AAPS to suggest/make basal changes + startupwizard_processed + Sensitivity plugin is used for sensitivity detection and COB calculation. For more info visit: + https://androidaps.readthedocs.io/en/latest/Configuration/Sensitivity-detection-and-COB.html + Select one from availables algorithms. They are sorted from oldest to newest. Newer algorithm is usually more powerful and more aggressive. Thus if you are new looper you may probably start with AMA and not with latest one. Do not forget to read the OpenAPS documentation and configure it before use. + Please configure your RileyLink below. After selecting a RileyLink, it will be possible to continue setup once the RileyLink status is \"Connected\". This might take a minute.\n + Note: You can continue setup once the pump has been set up.\n + Start your first objective + RileyLink status: + Read status + Data Choices + Fabric Upload + Allow automated crash reporting and feature usage data to be sent to the developers via the fabric.io service. + This identification will attached to crash reports so we can contact you in urgent cases. It\'s optional. + Identification (email, FB or Discord nick etc) + + Pump + Which pump would you like to use with AAPS? + Profile + Which profile should AAPS use? + APS + Which APS algorithm should make therapy adjustments? + General + These are some general plugins you might find useful. + Synchronization + Data upload and synchronization plugins. + Which constraints are applied? + Loop + Use this to activate AAPS\' loop integration. + Which type of insulin are you using? + BG Source + Where should AAPS gain it\'s data from? + APS Mode + Preferred APS mode + Sensitivity detection + Which sensitivity algorithm should be used? + + \ No newline at end of file diff --git a/app/src/main/res/xml/pref_datachoices.xml b/plugins/configuration/src/main/res/xml/pref_datachoices.xml similarity index 89% rename from app/src/main/res/xml/pref_datachoices.xml rename to plugins/configuration/src/main/res/xml/pref_datachoices.xml index 408296cae5..41d2bfa237 100644 --- a/app/src/main/res/xml/pref_datachoices.xml +++ b/plugins/configuration/src/main/res/xml/pref_datachoices.xml @@ -1,7 +1,6 @@ + xmlns:app="http://schemas.android.com/apk/res-auto"> Tiener Volwassene Insulien weerstandige volwasse - Maks toelaatbare Bolus [U] - Maks Toelaatbare karbs [g] + Maks toelaatbare Bolus [U] + Maks Toelaatbare karbs [g] Sluimer Wys status vlae op tuisskerm diff --git a/plugins/main/src/main/res/values-bg-rBG/strings.xml b/plugins/main/src/main/res/values-bg-rBG/strings.xml index 6ec07bd907..041fca7722 100644 --- a/plugins/main/src/main/res/values-bg-rBG/strings.xml +++ b/plugins/main/src/main/res/values-bg-rBG/strings.xml @@ -52,15 +52,15 @@ макс. стойност в настройките твърд лимит Настройки на сигурността - Моля, изберете тип на пациента за настройка на границите за безопастност + Моля, изберете тип на пациента за настройка на границите за безопастност Дете Тийнейджър Възрастен Възрастни с голяма инсулинова резистентност Бременност - Максимален инсулин при болус [единици] - Максимални въглехидрати [гр] - Тип пациент + Максимален инсулин при болус [единици] + Максимални въглехидрати [гр] + Тип пациент Отложи Покажи статус светлини на началния екран diff --git a/plugins/main/src/main/res/values-ca-rES/strings.xml b/plugins/main/src/main/res/values-ca-rES/strings.xml index cb4742c875..f4ada678e0 100644 --- a/plugins/main/src/main/res/values-ca-rES/strings.xml +++ b/plugins/main/src/main/res/values-ca-rES/strings.xml @@ -58,15 +58,15 @@ valor màxim a la configuració límit estricte Seguretat tractaments - Si us plau, seleccioneu el tipus de pacient per configurar els límits de seguretat + Si us plau, seleccioneu el tipus de pacient per configurar els límits de seguretat Nen Adolescent Adult Adult resistent a l\'insulina Embaraç - Max bolus permès [U] - Max carbs permesos [g] - Tipus de pacient + Max bolus permès [U] + Max carbs permesos [g] + Tipus de pacient Postposar Mostrar indicadors d\'estat a la pantalla d\'inici diff --git a/plugins/main/src/main/res/values-cs-rCZ/strings.xml b/plugins/main/src/main/res/values-cs-rCZ/strings.xml index 4d9df649c7..c477582782 100644 --- a/plugins/main/src/main/res/values-cs-rCZ/strings.xml +++ b/plugins/main/src/main/res/values-cs-rCZ/strings.xml @@ -240,15 +240,15 @@ maximální hodnota v nastavení pevný limit Bezpečnost zadání ošetřeni - Prosím vyberte typ pacienta pro nastavení bezpečnostních limitů + Prosím vyberte typ pacienta pro nastavení bezpečnostních limitů Dítě Dospívající Dospělý Dospělý s nízkou citlivostí Těhotenství - Maximální povolený bolus [U] - Maximální počet sacharidů [g] - Typ pacienta + Maximální povolený bolus [U] + Maximální počet sacharidů [g] + Typ pacienta Odložit Zkopírovat nastavení NS (existuje-li)? diff --git a/plugins/main/src/main/res/values-da-rDK/strings.xml b/plugins/main/src/main/res/values-da-rDK/strings.xml index 7dae731233..49f70fbcb5 100644 --- a/plugins/main/src/main/res/values-da-rDK/strings.xml +++ b/plugins/main/src/main/res/values-da-rDK/strings.xml @@ -63,15 +63,15 @@ max værdi i præferencer hård grænse Behandlings sikkerhed - Vælg venligst patienttype til opsætning af sikkerhedsgrænser + Vælg venligst patienttype til opsætning af sikkerhedsgrænser Barn Teeanger Voksen Insulinresistent voksen Graviditet - Maks tilladt bolus [IE] - Maks tilladte kulhydrater [g] - Patienttype + Maks tilladt bolus [IE] + Maks tilladte kulhydrater [g] + Patienttype Udsæt Vis statuslys på startskærm diff --git a/plugins/main/src/main/res/values-de-rDE/strings.xml b/plugins/main/src/main/res/values-de-rDE/strings.xml index 6b62dfaaa3..be53e0c14f 100644 --- a/plugins/main/src/main/res/values-de-rDE/strings.xml +++ b/plugins/main/src/main/res/values-de-rDE/strings.xml @@ -64,15 +64,15 @@ Max. Wert in den Einstellungen festem Grenzwert Sicherheitseinstellungen der Behandlungen - Bitte wähle den Patiententyp, um die Sicherheits-Limits festzulegen + Bitte wähle den Patiententyp, um die Sicherheits-Limits festzulegen Kind Teenager Erwachsener Insulinresistenter Erwachsener Schwangerschaft - Max. erlaubter Bolus [IE] - Max. erlaubte Kohlenhydrate [g] - Patiententyp + Max. erlaubter Bolus [IE] + Max. erlaubte Kohlenhydrate [g] + Patiententyp Schlummern Statusanzeige auf Homescreen diff --git a/plugins/main/src/main/res/values-el-rGR/strings.xml b/plugins/main/src/main/res/values-el-rGR/strings.xml index 0458951d07..f358f7367c 100644 --- a/plugins/main/src/main/res/values-el-rGR/strings.xml +++ b/plugins/main/src/main/res/values-el-rGR/strings.xml @@ -46,15 +46,15 @@ μέγιστη τιμή στις Επιλογές σταθερό όριο Ασφάλεια Θεραπειών - Παρακαλώ επιλέξτε τύπο ασθενούς για να ορισθούν όρια ασφαλείας + Παρακαλώ επιλέξτε τύπο ασθενούς για να ορισθούν όρια ασφαλείας Παιδί Έφηβος Ενήλικας Αντίσταση ινσουλίνης ενηλίκων Κύηση - Μέγιστο Επιτρεπτό bolus[U] - Μέγιστο Επιτρεπτό υδατανθράκων [g] - Τύπος ασθενή + Μέγιστο Επιτρεπτό bolus[U] + Μέγιστο Επιτρεπτό υδατανθράκων [g] + Τύπος ασθενή Αναβολή Εμφάνιση του φωτισμού κατάστασης στην αρχική οθόνη diff --git a/plugins/main/src/main/res/values-es-rES/strings.xml b/plugins/main/src/main/res/values-es-rES/strings.xml index 0d37fe45c1..4e0d1c8e78 100644 --- a/plugins/main/src/main/res/values-es-rES/strings.xml +++ b/plugins/main/src/main/res/values-es-rES/strings.xml @@ -240,15 +240,15 @@ valor máximo en preferencias límite estricto Seguridad de tratamientos - Por favor, selecciona el tipo de paciente para establecer los límites de seguridad + Por favor, selecciona el tipo de paciente para establecer los límites de seguridad Niño Adolescente Adulto Adulto resistente a la insulina Embarazada - Máximo bolo permitido [U] - Máximos carbohidratos permitidos [g] - Tipo de paciente + Máximo bolo permitido [U] + Máximos carbohidratos permitidos [g] + Tipo de paciente Silenciar ¿Deseas copiar los ajustes desde Nightscout, si existen? diff --git a/plugins/main/src/main/res/values-fr-rFR/strings.xml b/plugins/main/src/main/res/values-fr-rFR/strings.xml index 5779758c00..b3db11d084 100644 --- a/plugins/main/src/main/res/values-fr-rFR/strings.xml +++ b/plugins/main/src/main/res/values-fr-rFR/strings.xml @@ -240,15 +240,15 @@ valeur Max dans les préférences limite fixée Traitements de sécurité - Veuillez sélectionner le type de patient pour définir les limites de sécurité + Veuillez sélectionner le type de patient pour définir les limites de sécurité Enfant Adolescent Adulte Adulte résistant à l\'insuline Grossesse - Maximum Bolus autorisé [U] - Maximum de Glucides autorisé [g] - Type de patient + Maximum Bolus autorisé [U] + Maximum de Glucides autorisé [g] + Type de patient Masquer Copier les paramètres NS (s\'ils existent)? diff --git a/plugins/main/src/main/res/values-ga-rIE/strings.xml b/plugins/main/src/main/res/values-ga-rIE/strings.xml index 84f149a2d7..e92089c46b 100644 --- a/plugins/main/src/main/res/values-ga-rIE/strings.xml +++ b/plugins/main/src/main/res/values-ga-rIE/strings.xml @@ -29,7 +29,7 @@ Páiste Déagóirí Duine fásta - Othar cineál + Othar cineál APS mód CGM diff --git a/plugins/main/src/main/res/values-hr-rHR/strings.xml b/plugins/main/src/main/res/values-hr-rHR/strings.xml index abcee53bf3..28067cdd80 100644 --- a/plugins/main/src/main/res/values-hr-rHR/strings.xml +++ b/plugins/main/src/main/res/values-hr-rHR/strings.xml @@ -136,8 +136,8 @@ Nekoliko izbora za brzi pristup uobičajenim funkcijama Sigurnosne postavke medikacije - Max dozvoljen bolus [U] - Max dozvoljeni Uh [g] + Max dozvoljen bolus [U] + Max dozvoljeni Uh [g] Profili, bolusi, ugljikohidrati, privremeni bazali učitavaju se u NS diff --git a/plugins/main/src/main/res/values-hu-rHU/strings.xml b/plugins/main/src/main/res/values-hu-rHU/strings.xml index 2b2a38bce0..e7d1d7431e 100644 --- a/plugins/main/src/main/res/values-hu-rHU/strings.xml +++ b/plugins/main/src/main/res/values-hu-rHU/strings.xml @@ -26,7 +26,7 @@ Felnőtt Inzulinrezisztens felnőtt Várandós - Betegkategória + Betegkategória Szundi CGM diff --git a/plugins/main/src/main/res/values-it-rIT/strings.xml b/plugins/main/src/main/res/values-it-rIT/strings.xml index 7becd62f2d..de1cf7b546 100644 --- a/plugins/main/src/main/res/values-it-rIT/strings.xml +++ b/plugins/main/src/main/res/values-it-rIT/strings.xml @@ -152,15 +152,15 @@ valore max nelle preferenze limite fisso Sicurezza trattamenti - Seleziona il tipo di paziente per configurare i limiti di sicurezza + Seleziona il tipo di paziente per configurare i limiti di sicurezza Bambino Adolescente Adulto Adulto insulino-resistente Gravidanza - Max bolo consentito [U] - Max CHO consentiti [g] - Tipo paziente + Max bolo consentito [U] + Max CHO consentiti [g] + Tipo paziente Posticipa Copiare impostazioni NS (se esiste)? diff --git a/plugins/main/src/main/res/values-iw-rIL/strings.xml b/plugins/main/src/main/res/values-iw-rIL/strings.xml index 0ddfaae237..ca096e5f9f 100644 --- a/plugins/main/src/main/res/values-iw-rIL/strings.xml +++ b/plugins/main/src/main/res/values-iw-rIL/strings.xml @@ -55,15 +55,15 @@ ערך מקסימלי בהעדפות מגבלה קשיחה בטיחות טיפולים - נא לבחור את גיל המטופל\\ת להתאמת מגבלות בטיחות + נא לבחור את גיל המטופל\\ת להתאמת מגבלות בטיחות ילד\\ה מתבגר\\ת מבוגר\\ת מבוגר\\ת עם תנגודת אינסולין גבוהה הריון - בולוס מקסימלי מותר [U] - מקסימום פחמימות מותר [g] - סוג המטופל\\ת + בולוס מקסימלי מותר [U] + מקסימום פחמימות מותר [g] + סוג המטופל\\ת נודניק הצגת אורות חיווי במסך הבית diff --git a/plugins/main/src/main/res/values-ko-rKR/strings.xml b/plugins/main/src/main/res/values-ko-rKR/strings.xml index 89632ded54..75a11f8796 100644 --- a/plugins/main/src/main/res/values-ko-rKR/strings.xml +++ b/plugins/main/src/main/res/values-ko-rKR/strings.xml @@ -59,15 +59,15 @@ 설정에서의 최대값 하드한계 관리 안전설정 - 안전 제한 설정을 위해 환자 유형을 선택하십시오. + 안전 제한 설정을 위해 환자 유형을 선택하십시오. 어린이 청소년 성인 인슐린 저항성 높은 성인 임신 중 - 최대 허용 Bolus [U] - 최대 허용 탄수화물 [g] - 환자 유형 + 최대 허용 Bolus [U] + 최대 허용 탄수화물 [g] + 환자 유형 스누즈 홈화면에 상태 표시등 보여주기 diff --git a/plugins/main/src/main/res/values-lt-rLT/strings.xml b/plugins/main/src/main/res/values-lt-rLT/strings.xml index 06ebf5a4d0..35acc7fc8f 100644 --- a/plugins/main/src/main/res/values-lt-rLT/strings.xml +++ b/plugins/main/src/main/res/values-lt-rLT/strings.xml @@ -75,15 +75,15 @@ Maksimali reikšmė nustatymuose Nekeičiama riba Terapijos saugumas - Pasirinkite paciento tipą saugumo riboms nustatyti + Pasirinkite paciento tipą saugumo riboms nustatyti Vaikas Paauglys Suaugęs Insulinui rezistentiškas suaugęs Nėštumas - Maksimalus leistinas bolusas [U] - Maks. leistini angliavandeniai [g] - Paciento tipas + Maksimalus leistinas bolusas [U] + Maks. leistini angliavandeniai [g] + Paciento tipas Snausti Pradžios ekrane rodyti spalvotus indikatorius diff --git a/plugins/main/src/main/res/values-nl-rNL/strings.xml b/plugins/main/src/main/res/values-nl-rNL/strings.xml index 62ebbd244a..f37b7ce75b 100644 --- a/plugins/main/src/main/res/values-nl-rNL/strings.xml +++ b/plugins/main/src/main/res/values-nl-rNL/strings.xml @@ -124,15 +124,15 @@ Maximum waarde in instellingen max limiet (SC) Behandelingen veiligheid - Selecteer het type patiënt om de veiligheidslimieten in te stellen + Selecteer het type patiënt om de veiligheidslimieten in te stellen Kind Tiener Volwassene insuline resistente volwassene Zwangerschap - Max toegestane bolus [E] - Max toegestane koolhydraten [g] - Type patiënt + Max toegestane bolus [E] + Max toegestane koolhydraten [g] + Type patiënt NS instellingen kopiëren (indien aanwezig)? Toon statusindicatoren op startscherm diff --git a/plugins/main/src/main/res/values-no-rNO/strings.xml b/plugins/main/src/main/res/values-no-rNO/strings.xml index ed5041b6cb..bba8bb7ada 100644 --- a/plugins/main/src/main/res/values-no-rNO/strings.xml +++ b/plugins/main/src/main/res/values-no-rNO/strings.xml @@ -239,15 +239,15 @@ maks verdi i innstillingene hard begrensning Sikkerhet ved behandlinger - Velg pasienttype for oppsett av sikkerhetsgrenser + Velg pasienttype for oppsett av sikkerhetsgrenser Barn Tenåring Voksen Insulinresistent voksen Graviditet - Maks tillat bolus [U] - Maks tillat karbo [g] - Pasienttype + Maks tillat bolus [U] + Maks tillat karbo [g] + Pasienttype Slumre Kopiere NS innstillinger (hvis de eksisterer)? diff --git a/plugins/main/src/main/res/values-pl-rPL/strings.xml b/plugins/main/src/main/res/values-pl-rPL/strings.xml index 881a7a89c2..1d4f533cfb 100644 --- a/plugins/main/src/main/res/values-pl-rPL/strings.xml +++ b/plugins/main/src/main/res/values-pl-rPL/strings.xml @@ -57,15 +57,15 @@ maks. wartość w ustawieniach twarde ograniczenie Bezpieczeństwo terapii - Wybierz typ pacjenta, aby ustawić limity bezpieczeństwa + Wybierz typ pacjenta, aby ustawić limity bezpieczeństwa Dziecko Nastolatek Osoba dorosła Osoba dorosła insulinooporna Ciąża - Maks. dopuszczalny bolus [U] - Maks. dopuszczalne węglowodany [g] - Typ pacjenta + Maks. dopuszczalny bolus [U] + Maks. dopuszczalne węglowodany [g] + Typ pacjenta Wycisz Pokaż diody stanu na ekranie głównym diff --git a/plugins/main/src/main/res/values-pt-rBR/strings.xml b/plugins/main/src/main/res/values-pt-rBR/strings.xml index 3d91df929d..1067d2bcd0 100644 --- a/plugins/main/src/main/res/values-pt-rBR/strings.xml +++ b/plugins/main/src/main/res/values-pt-rBR/strings.xml @@ -59,15 +59,15 @@ valor máx nas preferências limite rígido Segurança do Tratamento - Selecione o tipo de paciente para configurar os limites de segurança + Selecione o tipo de paciente para configurar os limites de segurança Criança Adolescente Adulto Adulto resistente à insulina Grávida - Máximo bolus permitido [U] - Máximo de carbs permitidos [g] - Tipo de paciente + Máximo bolus permitido [U] + Máximo de carbs permitidos [g] + Tipo de paciente Silenciar Mostrar luzes de estado no ecrã principal diff --git a/plugins/main/src/main/res/values-pt-rPT/strings.xml b/plugins/main/src/main/res/values-pt-rPT/strings.xml index acc5c87d1d..0c6e8fdb12 100644 --- a/plugins/main/src/main/res/values-pt-rPT/strings.xml +++ b/plugins/main/src/main/res/values-pt-rPT/strings.xml @@ -55,15 +55,15 @@ valor máx nas preferências limite rígido Segurança de Tratamentos - Por favor seleccione o tipo de paciente para configurar limites de segurança + Por favor seleccione o tipo de paciente para configurar limites de segurança Criança Adolescente Adulto Adulto resistente insulina Gravidez - Máx bólus permitido [U] - Máx hidratos permitidos [g] - Tipo de Paciente + Máx bólus permitido [U] + Máx hidratos permitidos [g] + Tipo de Paciente Silenciar Mostrar luzes de estado no ecrã principal diff --git a/plugins/main/src/main/res/values-ro-rRO/strings.xml b/plugins/main/src/main/res/values-ro-rRO/strings.xml index 03e61419f1..3bd6cb0513 100644 --- a/plugins/main/src/main/res/values-ro-rRO/strings.xml +++ b/plugins/main/src/main/res/values-ro-rRO/strings.xml @@ -54,15 +54,15 @@ valoare maximă în preferințe limită fizică Setări siguranță tratament - Te rog confirmă tipul de pacient pentru a stabilii limitele de siguranță + Te rog confirmă tipul de pacient pentru a stabilii limitele de siguranță Copil Adolescent Adult Adult rezistent la insulină Sarcină - Bolus maxim admis [U] - Carbohidrați admiși maxim [g] - Tip de pacient + Bolus maxim admis [U] + Carbohidrați admiși maxim [g] + Tip de pacient Amână Afișați indicatorii luminoși ai pompei pe ecranul de start diff --git a/plugins/main/src/main/res/values-ru-rRU/strings.xml b/plugins/main/src/main/res/values-ru-rRU/strings.xml index cc3fa841bd..8a2790b1f3 100644 --- a/plugins/main/src/main/res/values-ru-rRU/strings.xml +++ b/plugins/main/src/main/res/values-ru-rRU/strings.xml @@ -79,15 +79,15 @@ максимальное значение в настройках жесткий предел Безопасность терапии - Выберите возраст пациента для установки ограничителей безопасности + Выберите возраст пациента для установки ограничителей безопасности Ребенок Подросток Взрослый Инсулинорезистентный взрослый Беременность - Макс разрешенный болюс [U] - Макс разрешенные углеводы [g] - Тип пациента + Макс разрешенный болюс [U] + Макс разрешенные углеводы [g] + Тип пациента Отложить Показать индикаторы состояния на главном экране diff --git a/plugins/main/src/main/res/values-sk-rSK/strings.xml b/plugins/main/src/main/res/values-sk-rSK/strings.xml index 4d751c98c1..fc314ae27e 100644 --- a/plugins/main/src/main/res/values-sk-rSK/strings.xml +++ b/plugins/main/src/main/res/values-sk-rSK/strings.xml @@ -116,15 +116,15 @@ maximálna hodnota v nastaveniach pevný limit Bezpečnosť zadania ošetrenia - Prosím vyberte typ pacienta pre nastavenie bezpečnostných limitov + Prosím vyberte typ pacienta pre nastavenie bezpečnostných limitov Dieťa Dospievajúci Dospelý Dospelý s nízkou citlivosťou Tehotenstvo - Maximálny povolený bolus [JI] - Max. povolené množstvo sacharidov [g] - Typ pacienta + Maximálny povolený bolus [JI] + Max. povolené množstvo sacharidov [g] + Typ pacienta Skopírovať nastavenia NS (ak existujú)? Zobraziť indikátory stavu na domovskej obrazovke diff --git a/plugins/main/src/main/res/values-sr-rCS/strings.xml b/plugins/main/src/main/res/values-sr-rCS/strings.xml index b3f387dd4a..3f4b003c69 100644 --- a/plugins/main/src/main/res/values-sr-rCS/strings.xml +++ b/plugins/main/src/main/res/values-sr-rCS/strings.xml @@ -24,8 +24,8 @@ Neke tipke za brzi pristup uobičajenim funkcijama Sigurnost tretmana - Maks. dozvoljen bolus [U] - Maks. dozvoljeni ugljeni hidrati [g] + Maks. dozvoljen bolus [U] + Maks. dozvoljeni ugljeni hidrati [g] APS režim Prihvatite novi privremeni bazal: diff --git a/plugins/main/src/main/res/values-sv-rSE/strings.xml b/plugins/main/src/main/res/values-sv-rSE/strings.xml index 874324507b..00e4905455 100644 --- a/plugins/main/src/main/res/values-sv-rSE/strings.xml +++ b/plugins/main/src/main/res/values-sv-rSE/strings.xml @@ -62,15 +62,15 @@ maxvärde i Inställningar hård begränsning Säkerhetsbegränsningar - Välj en patienttyp för att ställa in säkerhetsgränser + Välj en patienttyp för att ställa in säkerhetsgränser Barn Tonåring Vuxen Insulinresistent vuxen Gravid - Max tillåten bolus [U] - Max tillåtna KH [g] - Patienttyp + Max tillåten bolus [U] + Max tillåtna KH [g] + Patienttyp Snooze Visa \"statuslampor\" på hemskärmen diff --git a/plugins/main/src/main/res/values-tr-rTR/strings.xml b/plugins/main/src/main/res/values-tr-rTR/strings.xml index 88a880c421..374945a0c3 100644 --- a/plugins/main/src/main/res/values-tr-rTR/strings.xml +++ b/plugins/main/src/main/res/values-tr-rTR/strings.xml @@ -72,15 +72,15 @@ tercihlerde maksimum değer sert sınır Tedavi güvenliği - Güvenlik limitlerini ayarlamak için lütfen hasta tipini seçin + Güvenlik limitlerini ayarlamak için lütfen hasta tipini seçin Çocuk Ergen Yetişkin Yetişkin İnsülin direnci Hamile - Maks izin verilen bolus [U] - Maks izin verilen karbonhidrat [g] - Hasta tipi + Maks izin verilen bolus [U] + Maks izin verilen karbonhidrat [g] + Hasta tipi Ertele Ana ekranda durum ışıklarını göster diff --git a/plugins/main/src/main/res/values-zh-rCN/strings.xml b/plugins/main/src/main/res/values-zh-rCN/strings.xml index ccf6358c7b..43929ae120 100644 --- a/plugins/main/src/main/res/values-zh-rCN/strings.xml +++ b/plugins/main/src/main/res/values-zh-rCN/strings.xml @@ -54,15 +54,15 @@ 在参数选项里的最大值 硬限制 治疗安全 - 请选择患者类型,以设置安全限制 + 请选择患者类型,以设置安全限制 儿童 青少年 成人 胰岛素抵抗成人 孕妇 - 允许的最大大剂量值[U] - 最大允许碳水化合物 [g] - 患者类型 + 允许的最大大剂量值[U] + 最大允许碳水化合物 [g] + 患者类型 稍后再响 在主屏幕上显示状态指示灯 diff --git a/plugins/main/src/main/res/values/arrays.xml b/plugins/main/src/main/res/values/arrays.xml index 0845e72888..0e75db8ee1 100644 --- a/plugins/main/src/main/res/values/arrays.xml +++ b/plugins/main/src/main/res/values/arrays.xml @@ -44,30 +44,4 @@ YpsoPump - - @string/child - @string/teenage - @string/adult - @string/resistantadult - @string/pregnant - - - @string/key_child - @string/key_teenage - @string/key_adult - @string/key_resistantadult - @string/key_pregnant - - - - @string/closedloop - @string/openloop - @string/lowglucosesuspend - - - closed - open - lgs - - \ No newline at end of file diff --git a/plugins/main/src/main/res/values/strings.xml b/plugins/main/src/main/res/values/strings.xml index 07c143fca5..6b3fb6a6aa 100644 --- a/plugins/main/src/main/res/values/strings.xml +++ b/plugins/main/src/main/res/values/strings.xml @@ -4,7 +4,6 @@ smscommunicator_otp_password smscommunicator_otp_secret - patient_name smscommunicator_remotebolusmindistance smscommunicator_allowednumbers smscommunicator_remotecommandsallowed @@ -272,8 +271,6 @@ Patch pump - treatmentssafety_maxbolus - Limiting extended bolus to %1$.1f U because of %2$s Limiting carbs to %1$d g because of %2$s Limiting IOB to %1$.1f U because of %2$s @@ -289,15 +286,6 @@ max value in preferences hard limit Treatments safety - Please select patient type to setup safety limits - Child - Teenage - Adult - Insulin resistant adult - Pregnancy - Max allowed bolus [U] - Max allowed carbs [g] - Patient type statuslights_copy_ns diff --git a/plugins/main/src/main/res/xml/pref_safety.xml b/plugins/main/src/main/res/xml/pref_safety.xml index 4ea1d9311a..de0da51204 100644 --- a/plugins/main/src/main/res/xml/pref_safety.xml +++ b/plugins/main/src/main/res/xml/pref_safety.xml @@ -13,14 +13,14 @@ android:entries="@array/ageArray" android:entryValues="@array/ageValues" android:key="@string/key_age" - android:summary="@string/patientage_summary" - android:title="@string/patientage" /> + android:summary="@string/patient_age_summary" + android:title="@string/patient_type" /> @@ -29,7 +29,7 @@ android:defaultValue="48" android:inputType="number" android:key="@string/key_treatmentssafety_maxcarbs" - android:title="@string/treatmentssafety_maxcarbs_title" + android:title="@string/max_carbs_title" validate:floatmaxNumber="200" validate:floatminNumber="1" validate:testType="numericRange" /> diff --git a/settings.gradle b/settings.gradle index 86edd15dbe..802870db56 100644 --- a/settings.gradle +++ b/settings.gradle @@ -18,6 +18,7 @@ include ':plugins:aps' include ':plugins:automation' include ':plugins:main' include ':plugins:openhumans' +include ':plugins:configuration' include ':pump:combo' include ':pump:dana' include ':pump:danar'