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'