diff --git a/.travis.yml b/.travis.yml
index 165a1eff9a..d08c3bf279 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -8,7 +8,7 @@ android:
components:
- platform-tools
- tools
- - build-tools-28.0.3
+ - build-tools-29.0.2
- android-28
- extra-google-m2repository
- extra-android-m2repository
diff --git a/app/build.gradle b/app/build.gradle
index fcb0b3b6c7..58c4d73eac 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,10 +1,12 @@
buildscript {
repositories {
jcenter()
+ maven { url "https://plugins.gradle.org/m2/" } // jacoco 0.2
}
dependencies {
- classpath 'com.dicedmelon.gradle:jacoco-android:0.1.4'
+ //classpath 'com.dicedmelon.gradle:jacoco-android:0.1.4'
+ classpath 'com.hiya:jacoco-android:0.2'
}
}
apply plugin: 'com.android.application'
@@ -12,7 +14,8 @@ apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
apply plugin: 'com.google.gms.google-services'
-apply plugin: 'jacoco-android'
+//apply plugin: 'jacoco-android'
+apply plugin: 'com.hiya.jacoco-android'
apply plugin: 'com.google.firebase.crashlytics'
jacoco {
diff --git a/app/src/main/assets/OpenAPSSMB/determine-basal.js b/app/src/main/assets/OpenAPSSMB/determine-basal.js
index 5e9238713f..137ceca541 100644
--- a/app/src/main/assets/OpenAPSSMB/determine-basal.js
+++ b/app/src/main/assets/OpenAPSSMB/determine-basal.js
@@ -801,7 +801,7 @@ var determine_basal = function determine_basal(glucose_status, currenttemp, iob_
rT.COB=meal_data.mealCOB;
rT.IOB=iob_data.iob;
- rT.reason="COB: " + meal_data.mealCOB + ", Dev: " + convert_bg(deviation, profile) + ", BGI: " + convert_bg(bgi, profile) + ", ISF: " + convert_bg(sens, profile) + ", CR: " + round(profile.carb_ratio, 2) + ", Target: " + convert_bg(target_bg, profile) + ", minPredBG " + convert_bg(minPredBG, profile) + ", minGuardBG " + convert_bg(minGuardBG, profile) + ", IOBpredBG " + convert_bg(lastIOBpredBG, profile);
+ rT.reason="COB: " + round(meal_data.mealCOB, 1) + ", Dev: " + convert_bg(deviation, profile) + ", BGI: " + convert_bg(bgi, profile) + ", ISF: " + convert_bg(sens, profile) + ", CR: " + round(profile.carb_ratio, 2) + ", Target: " + convert_bg(target_bg, profile) + ", minPredBG " + convert_bg(minPredBG, profile) + ", minGuardBG " + convert_bg(minGuardBG, profile) + ", IOBpredBG " + convert_bg(lastIOBpredBG, profile);
if (lastCOBpredBG > 0) {
rT.reason += ", COBpredBG " + convert_bg(lastCOBpredBG, profile);
}
diff --git a/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt b/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt
index fce062f89f..e01ea6da78 100644
--- a/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt
+++ b/app/src/main/java/info/nightscout/androidaps/activities/MyPreferenceFragment.kt
@@ -185,9 +185,7 @@ class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChang
addPreferencesFromResourceIfEnabled(maintenancePlugin, rootKey)
}
initSummary(preferenceScreen, pluginId != -1)
- for (plugin in pluginStore.plugins) {
- plugin.preprocessPreferences(this)
- }
+ preprocessPreferences()
}
override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences, key: String) {
@@ -212,6 +210,13 @@ class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChang
checkForBiometricFallback(key)
updatePrefSummary(findPreference(key))
+ preprocessPreferences()
+ }
+
+ private fun preprocessPreferences() {
+ for (plugin in pluginStore.plugins) {
+ plugin.preprocessPreferences(this)
+ }
}
private fun checkForBiometricFallback(key: String) {
diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt
index 62da94d3ff..02e46e5c17 100644
--- a/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt
+++ b/app/src/main/java/info/nightscout/androidaps/dialogs/ExtendedBolusDialog.kt
@@ -62,7 +62,7 @@ class ExtendedBolusDialog : DialogFragmentWithDate() {
override fun submit(): Boolean {
val insulin = SafeParse.stringToDouble(actions_extendedbolus_insulin.text)
- val durationInMinutes = SafeParse.stringToInt(actions_extendedbolus_duration.text)
+ val durationInMinutes = actions_extendedbolus_duration.value.toInt()
val actions: LinkedList = LinkedList()
val insulinAfterConstraint = constraintChecker.applyExtendedBolusConstraints(Constraint(insulin)).value()
actions.add(resourceHelper.gs(R.string.formatinsulinunits, insulinAfterConstraint))
diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt
index 14f0897cc5..7ab5850f87 100644
--- a/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt
+++ b/app/src/main/java/info/nightscout/androidaps/dialogs/TempBasalDialog.kt
@@ -83,7 +83,7 @@ class TempBasalDialog : DialogFragmentWithDate() {
override fun submit(): Boolean {
var percent = 0
var absolute = 0.0
- val durationInMinutes = SafeParse.stringToInt(actions_tempbasal_duration.text)
+ val durationInMinutes = actions_tempbasal_duration.value.toInt()
val profile = profileFunction.getProfile() ?: return false
val actions: LinkedList = LinkedList()
if (isPercentPump) {
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.java
index 6da05d9075..3e54eb8a3a 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBPlugin.java
@@ -2,6 +2,9 @@ package info.nightscout.androidaps.plugins.aps.openAPSSMB;
import android.content.Context;
+import androidx.preference.PreferenceFragmentCompat;
+import androidx.preference.SwitchPreference;
+
import org.jetbrains.annotations.NotNull;
import org.json.JSONException;
@@ -42,6 +45,7 @@ import info.nightscout.androidaps.utils.HardLimits;
import info.nightscout.androidaps.utils.Profiler;
import info.nightscout.androidaps.utils.Round;
import info.nightscout.androidaps.utils.resources.ResourceHelper;
+import info.nightscout.androidaps.utils.sharedPreferences.SP;
@Singleton
public class OpenAPSSMBPlugin extends PluginBase implements APSInterface, ConstraintsInterface {
@@ -56,6 +60,7 @@ public class OpenAPSSMBPlugin extends PluginBase implements APSInterface, Constr
private final HardLimits hardLimits;
private final Profiler profiler;
private final FabricPrivacy fabricPrivacy;
+ private final SP sp;
// last values
DetermineBasalAdapterSMBJS lastDetermineBasalAdapterSMBJS = null;
@@ -77,7 +82,8 @@ public class OpenAPSSMBPlugin extends PluginBase implements APSInterface, Constr
IobCobCalculatorPlugin iobCobCalculatorPlugin,
HardLimits hardLimits,
Profiler profiler,
- FabricPrivacy fabricPrivacy
+ FabricPrivacy fabricPrivacy,
+ SP sp
) {
super(new PluginDescription()
.mainType(PluginType.APS)
@@ -100,6 +106,7 @@ public class OpenAPSSMBPlugin extends PluginBase implements APSInterface, Constr
this.hardLimits = hardLimits;
this.profiler = profiler;
this.fabricPrivacy = fabricPrivacy;
+ this.sp = sp;
}
@Override
@@ -119,6 +126,25 @@ public class OpenAPSSMBPlugin extends PluginBase implements APSInterface, Constr
return pump.getPumpDescription().isTempBasalCapable;
}
+ @Override
+ public void preprocessPreferences(@NotNull PreferenceFragmentCompat preferenceFragment) {
+ super.preprocessPreferences(preferenceFragment);
+ boolean smbAlwaysEnabled = sp.getBoolean(R.string.key_enableSMB_always, false);
+
+ SwitchPreference withCOB = preferenceFragment.findPreference(resourceHelper.gs(R.string.key_enableSMB_with_COB));
+ if (withCOB != null) {
+ withCOB.setVisible(!smbAlwaysEnabled);
+ }
+ SwitchPreference withTempTarget = preferenceFragment.findPreference(resourceHelper.gs(R.string.key_enableSMB_with_temptarget));
+ if (withTempTarget != null) {
+ withTempTarget.setVisible(!smbAlwaysEnabled);
+ }
+ SwitchPreference afterCarbs = preferenceFragment.findPreference(resourceHelper.gs(R.string.key_enableSMB_after_carbs));
+ if (afterCarbs != null) {
+ afterCarbs.setVisible(!smbAlwaysEnabled);
+ }
+ }
+
@Override
public APSResult getLastAPSResult() {
return lastAPSResult;
@@ -174,7 +200,7 @@ public class OpenAPSSMBPlugin extends PluginBase implements APSInterface, Constr
long startPart = System.currentTimeMillis();
MealData mealData = iobCobCalculatorPlugin.getMealData();
- profiler.log(LTag.APS, "getMealData()", startPart);
+ profiler.log(LTag.APS, "getMealData()", startPart);
Constraint maxIOBAllowedConstraint = constraintChecker.getMaxIOBAllowed();
inputConstraints.copyReasons(maxIOBAllowedConstraint);
@@ -219,7 +245,7 @@ public class OpenAPSSMBPlugin extends PluginBase implements APSInterface, Constr
}
IobTotal[] iobArray = iobCobCalculatorPlugin.calculateIobArrayForSMB(lastAutosensResult, SMBDefaults.exercise_mode, SMBDefaults.half_basal_exercise_target, isTempTarget);
- profiler.log(LTag.APS, "calculateIobArrayInDia()", startPart);
+ profiler.log(LTag.APS, "calculateIobArrayInDia()", startPart);
startPart = System.currentTimeMillis();
Constraint smbAllowed = new Constraint<>(!tempBasalFallback);
@@ -234,8 +260,8 @@ public class OpenAPSSMBPlugin extends PluginBase implements APSInterface, Constr
constraintChecker.isUAMEnabled(uam);
inputConstraints.copyReasons(uam);
- profiler.log(LTag.APS, "detectSensitivityandCarbAbsorption()", startPart);
- profiler.log(LTag.APS, "SMB data gathering", start);
+ profiler.log(LTag.APS, "detectSensitivityandCarbAbsorption()", startPart);
+ profiler.log(LTag.APS, "SMB data gathering", start);
start = System.currentTimeMillis();
try {
@@ -254,7 +280,7 @@ public class OpenAPSSMBPlugin extends PluginBase implements APSInterface, Constr
long now = System.currentTimeMillis();
DetermineBasalResultSMB determineBasalResultSMB = determineBasalAdapterSMBJS.invoke();
- profiler.log(LTag.APS, "SMB calculation", start);
+ profiler.log(LTag.APS, "SMB calculation", start);
if (determineBasalResultSMB == null) {
getAapsLogger().error(LTag.APS, "SMB calculation returned null");
lastDetermineBasalAdapterSMBJS = null;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/elements/InputBg.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/elements/InputBg.kt
index f81ef07bb8..24b48e0fb7 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/elements/InputBg.kt
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/elements/InputBg.kt
@@ -5,7 +5,7 @@ import dagger.android.HasAndroidInjector
import info.nightscout.androidaps.Constants
import info.nightscout.androidaps.R
import info.nightscout.androidaps.interfaces.ProfileFunction
-import info.nightscout.androidaps.utils.NumberPicker
+import info.nightscout.androidaps.utils.ui.NumberPicker
import java.text.DecimalFormat
import javax.inject.Inject
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/elements/InputDelta.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/elements/InputDelta.kt
index e7624a98c7..46b696eaec 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/elements/InputDelta.kt
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/elements/InputDelta.kt
@@ -9,7 +9,7 @@ import android.widget.Spinner
import androidx.annotation.StringRes
import dagger.android.HasAndroidInjector
import info.nightscout.androidaps.R
-import info.nightscout.androidaps.utils.NumberPicker
+import info.nightscout.androidaps.utils.ui.NumberPicker
import info.nightscout.androidaps.utils.resources.ResourceHelper
import java.text.DecimalFormat
import java.util.*
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/elements/InputDouble.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/elements/InputDouble.kt
index 7824b51960..566315b9eb 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/elements/InputDouble.kt
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/elements/InputDouble.kt
@@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.general.automation.elements
import android.widget.LinearLayout
import dagger.android.HasAndroidInjector
import info.nightscout.androidaps.R
-import info.nightscout.androidaps.utils.NumberPicker
+import info.nightscout.androidaps.utils.ui.NumberPicker
import java.text.DecimalFormat
class InputDouble(injector: HasAndroidInjector) : Element(injector) {
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/elements/InputDuration.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/elements/InputDuration.kt
index cab16d2502..08647735cd 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/elements/InputDuration.kt
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/elements/InputDuration.kt
@@ -3,7 +3,8 @@ package info.nightscout.androidaps.plugins.general.automation.elements
import android.widget.LinearLayout
import dagger.android.HasAndroidInjector
import info.nightscout.androidaps.R
-import info.nightscout.androidaps.utils.NumberPicker
+import info.nightscout.androidaps.utils.ui.MinutesNumberPicker
+import info.nightscout.androidaps.utils.ui.NumberPicker
import java.text.DecimalFormat
class InputDuration(injector: HasAndroidInjector) : Element(injector) {
@@ -20,11 +21,14 @@ class InputDuration(injector: HasAndroidInjector) : Element(injector) {
var value: Int = 0
override fun addToLayout(root: LinearLayout) {
- val numberPicker = NumberPicker(root.context, null)
- if (unit == TimeUnit.MINUTES)
+ val numberPicker : NumberPicker
+ if (unit == TimeUnit.MINUTES) {
+ numberPicker = MinutesNumberPicker(root.context, null)
numberPicker.setParams(0.0, 0.0, 24 * 60.0, 10.0, DecimalFormat("0"), false, root.findViewById(R.id.ok))
- else
+ } else {
+ numberPicker = NumberPicker(root.context, null)
numberPicker.setParams(0.0, 0.0, 24.0, 1.0, DecimalFormat("0"), false, root.findViewById(R.id.ok))
+ }
numberPicker.value = value.toDouble()
numberPicker.setOnValueChangedListener { value: Double -> this.value = value.toInt() }
root.addView(numberPicker)
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/elements/InputInsulin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/elements/InputInsulin.kt
index f822a971f4..0903824a94 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/elements/InputInsulin.kt
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/elements/InputInsulin.kt
@@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.general.automation.elements
import android.widget.LinearLayout
import dagger.android.HasAndroidInjector
import info.nightscout.androidaps.R
-import info.nightscout.androidaps.utils.NumberPicker
+import info.nightscout.androidaps.utils.ui.NumberPicker
import java.text.DecimalFormat
class InputInsulin(injector: HasAndroidInjector) : Element(injector) {
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/elements/InputPercent.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/elements/InputPercent.kt
index 7b1f739ed7..05524abc40 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/elements/InputPercent.kt
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/elements/InputPercent.kt
@@ -3,7 +3,7 @@ package info.nightscout.androidaps.plugins.general.automation.elements
import android.widget.LinearLayout
import dagger.android.HasAndroidInjector
import info.nightscout.androidaps.R
-import info.nightscout.androidaps.utils.NumberPicker
+import info.nightscout.androidaps.utils.ui.NumberPicker
import java.text.DecimalFormat
class InputPercent(injector: HasAndroidInjector) : Element(injector) {
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/elements/InputTempTarget.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/elements/InputTempTarget.kt
index 8208e7e687..4f58be8167 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/elements/InputTempTarget.kt
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/automation/elements/InputTempTarget.kt
@@ -5,7 +5,7 @@ import dagger.android.HasAndroidInjector
import info.nightscout.androidaps.Constants
import info.nightscout.androidaps.R
import info.nightscout.androidaps.interfaces.ProfileFunction
-import info.nightscout.androidaps.utils.NumberPicker
+import info.nightscout.androidaps.utils.ui.NumberPicker
import java.text.DecimalFormat
import javax.inject.Inject
diff --git a/app/src/main/java/info/nightscout/androidaps/receivers/TimeDateOrTZChangeReceiver.kt b/app/src/main/java/info/nightscout/androidaps/receivers/TimeDateOrTZChangeReceiver.kt
index 55a186fc9f..de7249b938 100644
--- a/app/src/main/java/info/nightscout/androidaps/receivers/TimeDateOrTZChangeReceiver.kt
+++ b/app/src/main/java/info/nightscout/androidaps/receivers/TimeDateOrTZChangeReceiver.kt
@@ -7,6 +7,7 @@ import dagger.android.DaggerBroadcastReceiver
import info.nightscout.androidaps.interfaces.ActivePluginProvider
import info.nightscout.androidaps.interfaces.PumpInterface
import info.nightscout.androidaps.logging.AAPSLogger
+import info.nightscout.androidaps.logging.BundleLogger
import info.nightscout.androidaps.logging.LTag
import info.nightscout.androidaps.utils.TimeChangeType
import java.util.*
@@ -38,37 +39,38 @@ class TimeDateOrTZChangeReceiver : DaggerBroadcastReceiver() {
val action = intent.action
val activePump: PumpInterface = activePlugin.activePump
- aapsLogger.debug(LTag.PUMP,"TimeDateOrTZChangeReceiver::Date, Time and/or TimeZone changed. [action={}]", action)
- try {
- aapsLogger.debug(LTag.PUMP, "TimeDateOrTZChangeReceiver::Intent::{}", gson.toJson(intent))
- } catch (ignored : Exception) {}
+ aapsLogger.debug(LTag.PUMP, "TimeDateOrTZChangeReceiver::Date, Time and/or TimeZone changed. [action={}]", action)
+ aapsLogger.debug(LTag.PUMP, "TimeDateOrTZChangeReceiver::Intent::{}", BundleLogger.log(intent.extras))
when {
action == null -> {
- aapsLogger.error(LTag.PUMP,"TimeDateOrTZChangeReceiver::Action is null. Exiting.")
+ aapsLogger.error(LTag.PUMP, "TimeDateOrTZChangeReceiver::Action is null. Exiting.")
}
+
Intent.ACTION_TIMEZONE_CHANGED == action -> {
- aapsLogger.info(LTag.PUMP,"TimeDateOrTZChangeReceiver::Timezone changed. Notifying pump driver.")
+ aapsLogger.info(LTag.PUMP, "TimeDateOrTZChangeReceiver::Timezone changed. Notifying pump driver.")
activePump.timezoneOrDSTChanged(TimeChangeType.TimezoneChange)
}
+
Intent.ACTION_TIME_CHANGED == action -> {
val currentDst = calculateDST()
if (currentDst == isDST) {
- aapsLogger.info(LTag.PUMP,"TimeDateOrTZChangeReceiver::Time changed (manual). Notifying pump driver.")
+ aapsLogger.info(LTag.PUMP, "TimeDateOrTZChangeReceiver::Time changed (manual). Notifying pump driver.")
activePump.timezoneOrDSTChanged(TimeChangeType.ManualTimeChange)
} else {
if (currentDst) {
- aapsLogger.info(LTag.PUMP,"TimeDateOrTZChangeReceiver::DST started. Notifying pump driver.")
+ aapsLogger.info(LTag.PUMP, "TimeDateOrTZChangeReceiver::DST started. Notifying pump driver.")
activePump.timezoneOrDSTChanged(TimeChangeType.DST_Started)
} else {
- aapsLogger.info(LTag.PUMP,"TimeDateOrTZChangeReceiver::DST ended. Notifying pump driver.")
+ aapsLogger.info(LTag.PUMP, "TimeDateOrTZChangeReceiver::DST ended. Notifying pump driver.")
activePump.timezoneOrDSTChanged(TimeChangeType.DST_Ended)
}
}
isDST = currentDst
}
+
else -> {
- aapsLogger.error(LTag.PUMP,"TimeDateOrTZChangeReceiver::Unknown action received [name={}]. Exiting.", action)
+ aapsLogger.error(LTag.PUMP, "TimeDateOrTZChangeReceiver::Unknown action received [name={}]. Exiting.", action)
}
}
}
diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumberWithUnits.kt b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumberWithUnits.kt
index 978455a4ae..2d49eb3a97 100644
--- a/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumberWithUnits.kt
+++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/elements/SWEditNumberWithUnits.kt
@@ -11,7 +11,7 @@ import info.nightscout.androidaps.Constants
import info.nightscout.androidaps.data.Profile
import info.nightscout.androidaps.interfaces.ProfileFunction
import info.nightscout.androidaps.setupwizard.SWNumberValidator
-import info.nightscout.androidaps.utils.NumberPicker
+import info.nightscout.androidaps.utils.ui.NumberPicker
import info.nightscout.androidaps.utils.SafeParse
import java.text.DecimalFormat
import javax.inject.Inject
diff --git a/app/src/main/java/info/nightscout/androidaps/utils/NumberPickerVertical.java b/app/src/main/java/info/nightscout/androidaps/utils/NumberPickerVertical.java
index f09f562d25..5244c5c4ce 100644
--- a/app/src/main/java/info/nightscout/androidaps/utils/NumberPickerVertical.java
+++ b/app/src/main/java/info/nightscout/androidaps/utils/NumberPickerVertical.java
@@ -1,30 +1,11 @@
package info.nightscout.androidaps.utils;
import android.content.Context;
-import android.os.Handler;
-import android.os.Message;
-import android.text.Editable;
-import android.text.TextWatcher;
import android.util.AttributeSet;
-import android.view.KeyEvent;
import android.view.LayoutInflater;
-import android.view.MotionEvent;
-import android.view.View;
-import android.widget.Button;
-import android.widget.EditText;
-import android.widget.LinearLayout;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.text.NumberFormat;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
-
-import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
-import info.nightscout.androidaps.logging.StacktraceLoggerWrapper;
+import info.nightscout.androidaps.utils.ui.NumberPicker;
/**
* Created by mike on 28.06.2016.
diff --git a/app/src/main/java/info/nightscout/androidaps/utils/TimeListEdit.java b/app/src/main/java/info/nightscout/androidaps/utils/TimeListEdit.java
index 7010a82c12..1440a65c21 100644
--- a/app/src/main/java/info/nightscout/androidaps/utils/TimeListEdit.java
+++ b/app/src/main/java/info/nightscout/androidaps/utils/TimeListEdit.java
@@ -13,24 +13,20 @@ import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
-import androidx.core.content.ContextCompat;
import androidx.core.widget.TextViewCompat;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.List;
-import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.logging.AAPSLogger;
-import info.nightscout.androidaps.logging.StacktraceLoggerWrapper;
+import info.nightscout.androidaps.utils.ui.NumberPicker;
/**
* Created by mike on 29.12.2016.
diff --git a/app/src/main/java/info/nightscout/androidaps/utils/stats/TddCalculator.kt b/app/src/main/java/info/nightscout/androidaps/utils/stats/TddCalculator.kt
index 1f8338f7d8..6cecfa4f73 100644
--- a/app/src/main/java/info/nightscout/androidaps/utils/stats/TddCalculator.kt
+++ b/app/src/main/java/info/nightscout/androidaps/utils/stats/TddCalculator.kt
@@ -65,6 +65,13 @@ class TddCalculator @Inject constructor(
val profile = profileFunction.getProfile(t) ?: continue
val absoluteRate = tbr?.tempBasalConvertedToAbsolute(t, profile) ?: profile.getBasal(t)
tdd.basal += absoluteRate / 60.0 * 5.0
+
+ if (!activePlugin.getActivePump().isFakingTempsByExtendedBoluses()) {
+ // they are not included in TBRs
+ val eb = getExtendedBolusFromHistory(t)
+ val absoluteEbRate = eb?.absoluteRate() ?: 0.0
+ tdd.bolus += absoluteEbRate / 60.0 * 5.0
+ }
result.put(midnight, tdd)
}
for (i in 0 until result.size()) {
diff --git a/app/src/main/res/layout/activity_profilehelper.xml b/app/src/main/res/layout/activity_profilehelper.xml
index effa56b112..310a4c566d 100644
--- a/app/src/main/res/layout/activity_profilehelper.xml
+++ b/app/src/main/res/layout/activity_profilehelper.xml
@@ -94,7 +94,7 @@
android:text="@string/age"
android:textAppearance="@style/TextAppearance.AppCompat.Medium" />
-
@@ -115,7 +115,7 @@
android:text="@string/tdd_total"
android:textAppearance="@style/TextAppearance.AppCompat.Medium" />
-
@@ -136,7 +136,7 @@
android:text="@string/weight_label"
android:textAppearance="@style/TextAppearance.AppCompat.Medium" />
-
@@ -157,7 +157,7 @@
android:text="@string/basalpctfromtdd_label"
android:textAppearance="@style/TextAppearance.AppCompat.Medium" />
-
diff --git a/app/src/main/res/layout/careportal_newnstreatment_dialog.xml b/app/src/main/res/layout/careportal_newnstreatment_dialog.xml
deleted file mode 100644
index a501e70a77..0000000000
--- a/app/src/main/res/layout/careportal_newnstreatment_dialog.xml
+++ /dev/null
@@ -1,576 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/layout/dialog_calibration.xml b/app/src/main/res/layout/dialog_calibration.xml
index 5cf87640eb..5b298a0db5 100644
--- a/app/src/main/res/layout/dialog_calibration.xml
+++ b/app/src/main/res/layout/dialog_calibration.xml
@@ -66,7 +66,7 @@
android:textAppearance="@android:style/TextAppearance.Material.Small"
android:textStyle="bold" />
-
diff --git a/app/src/main/res/layout/dialog_carbs.xml b/app/src/main/res/layout/dialog_carbs.xml
index 1a4d722517..3274cc08b7 100644
--- a/app/src/main/res/layout/dialog_carbs.xml
+++ b/app/src/main/res/layout/dialog_carbs.xml
@@ -89,7 +89,7 @@
android:textAppearance="@android:style/TextAppearance.Material.Small"
android:textStyle="bold" />
-
@@ -122,7 +122,7 @@
android:textAppearance="@android:style/TextAppearance.Material.Small"
android:textStyle="bold" />
-
@@ -155,7 +155,7 @@
android:textAppearance="@android:style/TextAppearance.Material.Small"
android:textStyle="bold" />
-
diff --git a/app/src/main/res/layout/dialog_care.xml b/app/src/main/res/layout/dialog_care.xml
index c4c5ad59ca..d6987d6922 100644
--- a/app/src/main/res/layout/dialog_care.xml
+++ b/app/src/main/res/layout/dialog_care.xml
@@ -94,7 +94,7 @@
android:textAppearance="@android:style/TextAppearance.Material.Small"
android:textStyle="bold" />
-
@@ -129,7 +129,7 @@
android:textAppearance="@android:style/TextAppearance.Material.Small"
android:textStyle="bold" />
-
diff --git a/app/src/main/res/layout/dialog_extendedbolus.xml b/app/src/main/res/layout/dialog_extendedbolus.xml
index 4fde69c44b..2d80b4ab32 100644
--- a/app/src/main/res/layout/dialog_extendedbolus.xml
+++ b/app/src/main/res/layout/dialog_extendedbolus.xml
@@ -61,7 +61,7 @@
android:textAppearance="@android:style/TextAppearance.Material.Small"
android:textStyle="bold" />
-
@@ -94,7 +94,7 @@
android:textAppearance="@android:style/TextAppearance.Material.Small"
android:textStyle="bold" />
-
diff --git a/app/src/main/res/layout/dialog_fill.xml b/app/src/main/res/layout/dialog_fill.xml
index 48f60b7a1c..9cd88f525a 100644
--- a/app/src/main/res/layout/dialog_fill.xml
+++ b/app/src/main/res/layout/dialog_fill.xml
@@ -82,7 +82,7 @@
android:text="@string/overview_insulin_label"
android:textStyle="bold" />
-
-
@@ -117,7 +117,7 @@
android:textAppearance="@android:style/TextAppearance.Material.Small"
android:textStyle="bold" />
-
diff --git a/app/src/main/res/layout/dialog_profileswitch.xml b/app/src/main/res/layout/dialog_profileswitch.xml
index ab8efe79cd..01de170277 100644
--- a/app/src/main/res/layout/dialog_profileswitch.xml
+++ b/app/src/main/res/layout/dialog_profileswitch.xml
@@ -62,7 +62,7 @@
android:textAppearance="@android:style/TextAppearance.Material.Small"
android:textStyle="bold" />
-
@@ -154,7 +154,7 @@
android:textAppearance="@android:style/TextAppearance.Material.Small"
android:textStyle="bold" />
-
@@ -187,7 +187,7 @@
android:textAppearance="@android:style/TextAppearance.Material.Small"
android:textStyle="bold" />
-
diff --git a/app/src/main/res/layout/dialog_tempbasal.xml b/app/src/main/res/layout/dialog_tempbasal.xml
index 26b8e08487..cf0dc627fd 100644
--- a/app/src/main/res/layout/dialog_tempbasal.xml
+++ b/app/src/main/res/layout/dialog_tempbasal.xml
@@ -62,7 +62,7 @@
android:textAppearance="@android:style/TextAppearance.Material.Small"
android:textStyle="bold" />
-
@@ -96,7 +96,7 @@
android:textAppearance="@android:style/TextAppearance.Material.Small"
android:textStyle="bold" />
-
@@ -129,7 +129,7 @@
android:textAppearance="@android:style/TextAppearance.Material.Small"
android:textStyle="bold" />
-
diff --git a/app/src/main/res/layout/dialog_temptarget.xml b/app/src/main/res/layout/dialog_temptarget.xml
index 9eb1ef968c..30912b4a1d 100644
--- a/app/src/main/res/layout/dialog_temptarget.xml
+++ b/app/src/main/res/layout/dialog_temptarget.xml
@@ -85,7 +85,7 @@
android:textAppearance="@android:style/TextAppearance.Material.Small"
android:textStyle="bold" />
-
-
diff --git a/app/src/main/res/layout/dialog_treatment.xml b/app/src/main/res/layout/dialog_treatment.xml
index 418edb5623..662df3e91f 100644
--- a/app/src/main/res/layout/dialog_treatment.xml
+++ b/app/src/main/res/layout/dialog_treatment.xml
@@ -76,7 +76,7 @@
android:textAppearance="@android:style/TextAppearance.Material.Small"
android:textStyle="bold" />
-
@@ -109,7 +109,7 @@
android:textAppearance="@android:style/TextAppearance.Material.Small"
android:textStyle="bold" />
-
diff --git a/app/src/main/res/layout/dialog_wizard.xml b/app/src/main/res/layout/dialog_wizard.xml
index e23cf759de..7a6e70e066 100644
--- a/app/src/main/res/layout/dialog_wizard.xml
+++ b/app/src/main/res/layout/dialog_wizard.xml
@@ -65,7 +65,7 @@
android:textAppearance="@android:style/TextAppearance.Material.Small"
android:textStyle="bold" />
-
@@ -95,7 +95,7 @@
android:textAppearance="@android:style/TextAppearance.Material.Small"
android:textStyle="bold" />
-
-
-
-
-
-
diff --git a/app/src/main/res/values-af-rZA/strings.xml b/app/src/main/res/values-af-rZA/strings.xml
index c9b6fb57fd..585fb26204 100644
--- a/app/src/main/res/values-af-rZA/strings.xml
+++ b/app/src/main/res/values-af-rZA/strings.xml
@@ -528,7 +528,6 @@
Aktiveer SMB met tydelike doelwitteAktiveer SMB wanneer daar tydelike doelwitte aktief is (eetgou, oefen)Aktiveer SMB met hoë tydelike doelwitte
- Aktiveer SMB as daar hoë tydelike doelwitte aktief is (oefening)InsulienKarbsKnoppies
@@ -556,7 +555,6 @@
Moet nie bolus. Rekord alleenKategorieSubkategorie
- Bolus sal slegs opgeneem wordAutobackfill vermiste BGs vanaf NSSMB gestel deur pompAktiwiteit
@@ -670,7 +668,6 @@
Begin jou eerste doelwitToestemmingVra vir toestemming
- Toepassing benodig stoor toestemming om log leers te skryfVersoekKonfigureer insulien pluginUitgang
diff --git a/app/src/main/res/values-bg-rBG/strings.xml b/app/src/main/res/values-bg-rBG/strings.xml
index 622ec2460d..877058d8e8 100644
--- a/app/src/main/res/values-bg-rBG/strings.xml
+++ b/app/src/main/res/values-bg-rBG/strings.xml
@@ -172,6 +172,8 @@
Парола, която е била използвана за криптиране на експортираните настройки.Експорт неуспешен! Настройките не са експортирани!Импорт неуспешен! Настройките не са импортирани!
+ Импортирането неуспешно!
+ Моля, върнете се на началния екран и опитайте отново.Изберете файлМоля, проверете насстройките преди импортирането:Настройите не могат да бъдат импортирани!
@@ -645,7 +647,7 @@
Разреши SMB с временни целиРазрешава SMB, когато има активна временна цел на КЗРазреши SMB с по-високи временни цели на КЗ
- Разрешава SMB когато има активна по-висока временна цел
+ Активирайте SMB, когато има висока временна цел (опитайте с над 100 мг/дл или 5,5 ммол/л)ИнсулинВъглехидратиБутони
@@ -679,7 +681,7 @@
Не стартирай болус, а само запиши в базата данниКатегорияПодкатегория
- Болусът ще бъде само записан
+ Болус само ще се запише (няма да се стартира в помпа)Допълни липсващи данни за КЗ от NightscoutSMB в помпатаАктивност
@@ -796,7 +798,7 @@
Питане за разрешениеААПС изисква разрешение за да може да Ви уведомяваПриложение се нуждае от достъп до местоположението Ви за сканиране и WiFi идентификация
- Приложението се нуждае от разрешение да съхранява данни за да може съхранява лог файлове
+ Приложението се нуждае от разрешение да съхранява данни за да може съхранява лог файлове и експортира настройкиИсканеКонфигуриране на модула за ИнсулинИзход
@@ -1237,6 +1239,7 @@
ПроучванеНевалидна възрастНевалидно тегло
+ Невалидна стойност в %%1$s: Ниски: %2$02d%% В: %3$02d%% Вис: %4$02d%%]]>СредноВреме в границите
@@ -1412,5 +1415,8 @@
Наличен профилПрофил типВъзраст: %1$.0f TDD: %2$.0f Е
+ Възраст: %1$.0f TDD: %2$.0f Е %3$d%% Възраст: %1$.0f Тегло: %2$.0f кг
+ % от базата
+ Профил по подразбиране
diff --git a/app/src/main/res/values-cs-rCZ/strings.xml b/app/src/main/res/values-cs-rCZ/strings.xml
index 4c6bb272a8..6825f4e840 100644
--- a/app/src/main/res/values-cs-rCZ/strings.xml
+++ b/app/src/main/res/values-cs-rCZ/strings.xml
@@ -172,6 +172,8 @@
Zobrazí se výzva k zadání hlavního hesla, které bude použito k dešifrování importovaných předvoleb.Export zrušen! Předvolby NEBYLY exportovány!Import zrušen! Předvolby NEBYLY importovány!
+ Nelze naimportovat nastavení!
+ Prosím vraťte se zpět na hlavní obrazovku a zkuste to znovu.Vyberte soubor, který chcete importovatPřed importem zkontrolujte předvolby:Předvolby nelze importovat!
@@ -645,7 +647,7 @@
Povolit SMB s dočasnými cíliPovolit SMB, pokud je aktivní dočasný cíl (aktivita, blížící se jídlo)Povolit SMB s vysokými dočasnými cíli
- Povolit SMB, pokud je aktivní vysoký dočasný cíl (aktivita)
+ Povolit SMB, je-li aktivní vysoký cíl (cvičení, vyšší než 100 mg/dl nebo 5, 5 mmol/l)InzulínSacharidyTlačítka
@@ -679,7 +681,7 @@
Nepouštět bolus, jen zaznamenatKategoriePodkategorie
- Bolus bude pouze zaznamenán
+ Bolus nebude pumpou vydán, pouze zaznamenánAutomaticky doplňovat chybějící glykémie z NSSMB provedené pumpouAktivita
@@ -796,7 +798,7 @@
Získat povoleníPro oznámení vyžaduje aplikace oprávnění systémového oknaAplikace potřebuje oprávnění k přístupu k poloze kvůli skenování BT a WiFi identifikaci
- Aplikace vyžaduje přístup k úložišti, aby mohla ukládat logy
+ Aby bylo možné nahrávat logy a exportovat nastavení, je nutné pro aplikaci povolit oprávnění přístupu k úložištiPožadavekNastavení inzulínuKonec
diff --git a/app/src/main/res/values-de-rDE/strings.xml b/app/src/main/res/values-de-rDE/strings.xml
index 5e18740785..032137f0a8 100644
--- a/app/src/main/res/values-de-rDE/strings.xml
+++ b/app/src/main/res/values-de-rDE/strings.xml
@@ -172,6 +172,8 @@
Du wirst nach dem Master-Passwort gefragt. Mit diesem werden die importierten Einstellungen entschlüsselt.Export abgebrochen! Einstellungen wurden NICHT exportiert!Import abgebrochen! Einstellungen wurden NICHT importiert!
+ Einstellungen können nicht importiert werden!
+ Bitte gehe zurück zur Startseite und versuche es erneut.Wähle die zu importierende DateiÜberprüfe die Einstellungen vor dem Import:Einstellungen können nicht importiert werden!
@@ -645,7 +647,7 @@
Aktiviere SMB bei aktiven temporären ZielenAktiviere SMB, wenn ein temporäres Ziel aktiv ist (bald essen, Aktivität)Aktiviere SMB bei temporären Zielen oberhalb des regulären Ziels
- Aktiviere SMB bei temporären Zielen oberhalb des regulären Ziels (Aktivität).
+ Aktiviere SMB bei hohen temporären Zielen (Sport, über 100 mg/dl bzw. 5,5 mmol/L)InsulinKohlenhydrateSchaltflächen
@@ -679,7 +681,7 @@
Bolus nur erfassenKategorieUnterkategorie
- Bolus wird nur erfasst.
+ Bolus wird nur aufgezeichnet (Pumpe gibt kein Insulin ab!)Lade fehlende Blutzuckerwerte automatisch aus Nightscout nach.SMB von der Pumpe abgegebenAktivität
@@ -796,7 +798,7 @@
Nach Berechtigung fragenDie App benötigt die Systemberechtigung für App-BenachrichtigungenDie App benötigt die Berechtigung für den Standort, um Bluetooth und WLAN nutzen zu können
- AndroidAPS benötigt Zugriff auf den Speicher, um Log-Dateien speichern zu können.
+ Die App benötigt Zugriffsrechte für den Speicher um Log-Dateien zu sichern und die Einstellungen zu exportieren.AnfordernInsulin-Plugin konfigurierenVerlassen
diff --git a/app/src/main/res/values-el-rGR/strings.xml b/app/src/main/res/values-el-rGR/strings.xml
index 02d5bb7ce8..0595f9aca8 100644
--- a/app/src/main/res/values-el-rGR/strings.xml
+++ b/app/src/main/res/values-el-rGR/strings.xml
@@ -534,7 +534,6 @@
Ενεργοποίηση SMB με προσωρινούς στόχουςΕνεργοποίηση του SMB όταν υπάρχει ενεργός προσωρινός στόχος (τρώω σύντομα, άσκηση)Ενεργοποίηση SMB με υψηλούς προσωρινούς στόχους
- Ενεργοποίηση SMB όταν υπάρχει ενεργός υψηλός προσωρινός στόχος (άσκηση)ΙνσουλίνηΥδατάνθρακεςΠλήκτρα
@@ -562,7 +561,6 @@
Μην κάνετε bolus, μόνο να καταγράφετεΚατηγορίαΥποκατηγορία
- Το bolus θα εγγραφεί μόνοΣυμπληρώνεται αυτόματα η BG που λείπει από το NSΤο SMB ρυθμίστηκε από την αντλίαΔραστηριότητα
@@ -677,7 +675,6 @@
Ξεκινήστε τον πρώτο στόχοΆδειαΖητείστε άδεια
- Η εφαρμογή απαιτεί πρόσβαση στη μνήμη για την αποθήκευση αρχείων καταγραφήςΑίτημαΡυθμίστε την προσθήκη ινσουλίνηςΈξοδος
diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml
index 60e9782a4c..fc33093c61 100644
--- a/app/src/main/res/values-es-rES/strings.xml
+++ b/app/src/main/res/values-es-rES/strings.xml
@@ -645,7 +645,6 @@
Habilitar SMB con Objetivos TemporalesHabilitar SMB cuando hay un Objetivo Temporal (TT) activo (ComerPronto, Actividad)Habilitar SMB con Objetivo Temporal Alto
- Habilitar SMB cuando hay un Objetivo Temporal (TT) ALTO activo (Actividad)InsulinaCarbohidratosBotones
@@ -679,7 +678,6 @@
No administrar Bolo, solo anotarCategoríaSubcategoría
- El Bolo sólo será anotadoRellenar BGs perdidos desde NSSMB administrado por bombaActividad
@@ -796,7 +794,6 @@
Pedir permisoLa aplicación necesita permiso de ventana del sistema para las notificacionesLa aplicación necesita permiso de ubicación para la exploración de BT e identificación de WiFi
- La aplicación necesita permiso para guardar los logsSolicitarConfigurar complemento de insulinaSalir
diff --git a/app/src/main/res/values-fr-rFR/strings.xml b/app/src/main/res/values-fr-rFR/strings.xml
index bf36876d6b..cd7096a57b 100644
--- a/app/src/main/res/values-fr-rFR/strings.xml
+++ b/app/src/main/res/values-fr-rFR/strings.xml
@@ -172,6 +172,8 @@
Le mot de passe principal vous sera demandé pour décrypter les préférences exportées.Export annulé ! Les préférences n\'ont PAS été exportées !Import annulé ! Les préférences n\'ont PAS été importées !
+ Impossible d\'importer les préférences !
+ Veuillez retourner à l\'écran principal et réessayer.Sélectionner le fichier à importerVérifiez les préférences avant d\'importer :Les préférences ne peuvent pas être importées !
@@ -646,7 +648,7 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S
Activer SMB avec les cibles temporairesActiver SMB lorsqu\'il y a une cible temporaire active (repas imminent, exercise)Activer SMB avec cibles temp. hautes
- Activer SMB lorsqu\'il y a une cible temporaire haute (activités, exercice,..)
+ Activer les SMB quand il y a une cible temp haute active (exercise, au dessus de 100 mg/dl ou 5.5 mmol/l)InsulineGlucidesBoutons
@@ -680,7 +682,7 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S
Ne pas administrer de bolus, enregistrer uniquementCatégorieSous-catégorie
- Le bolus sera seulement enregistré
+ Les bolus seront seulement enregistrés (pas délivrés par la pompe)Remplissage automatique des glycémies manquantes en utilisant NSSMB défini par la pompeActivité
@@ -797,7 +799,7 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S
Demande d\'autorisationL\'application a besoin de l\'autorisation d\'accès à la fenêtre système pour les notificationsL\'application a besoin de l\'autorisation de localisation pour l\'analyse BT et l\'identification WiFi
- L\'application requiert une autorisation de stockage de données afin de pouvoir sauvegarder les fichiers journaux
+ L\'application a besoin d\'une autorisation de stockage pour pouvoir stocker les fichiers journaux et les paramètres d\'exportationDemandeConfigurer le plugin d\'insulineQuitter
diff --git a/app/src/main/res/values-it-rIT/exam.xml b/app/src/main/res/values-it-rIT/exam.xml
index 34cc88ff23..ee7e7dc4d6 100644
--- a/app/src/main/res/values-it-rIT/exam.xml
+++ b/app/src/main/res/values-it-rIT/exam.xml
@@ -25,7 +25,7 @@
Argomento: impostazioni di AndroidAPSQuali sono le migliori pratiche per il backup delle impostazioni?Esportarle localmente dal menu Manutenzione.
- Salvare il file esportato in un altro posto come l\'email, Dropbox, Google drive…
+ Memorizzare il file esportato in un altro posto come l\'email, Dropbox, Google drive…Esportarle subito dopo l\'installazione di AAPS.Esportarle dopo aver fatto modifiche d\'impostazione.Esportarle dopo il completamento di un obiettivo.
diff --git a/app/src/main/res/values-it-rIT/strings.xml b/app/src/main/res/values-it-rIT/strings.xml
index fcc302b530..dba67ec9a7 100644
--- a/app/src/main/res/values-it-rIT/strings.xml
+++ b/app/src/main/res/values-it-rIT/strings.xml
@@ -14,7 +14,7 @@
EsciUtilizza sempre valori basali assolutiPer favore riavvia il tuo telefono oppure fai ripartire AndroidAPS dalle impostazioni di sistema \naltrimenti Android APS non farà il log (è importante monitorare e verificare che gli algoritmi stiano funzionando correttamente)!
- Questo dispositivo non sembra supportare la whitelist dell\'ottimizzazione della batteria: potrebbero verificarsi problemi di prestazioni.
+ Questo dispositivo non sembra supportare la whitelist dell\'ottimizzazione batteria: potrebbero verificarsi problemi di prestazioni.Alcuni tasti per accedere rapidamente alle funzioni comuniUtilizzato per configurare i plugin attiviProgramma di apprendimento
@@ -172,6 +172,8 @@
Ti verrà chiesta la password master, che è necessaria per decrittare le preferenze importate.Esportazione annullata! Le preferenze NON sono state esportate!Importazione annullata! Le preferenze NON sono state importate!
+ Impossibile importare le preferenze!
+ Torna alla schermata principale e riprova.Seleziona il file da importareVerifica le preferenze prima dell\'importazione:Le preferenze non possono essere importate!
@@ -393,7 +395,7 @@
Stato:In pausaCancella log
- NSCLIENT non ha il permesso di scrittura. API secret errato?
+ NSCLIENT non ha l\'autorizzazione di scrittura. API secret errato?Impostazioni smartwatchMostra IOB dettagliatoDividi IOB in bolo e basale sulla watchface
@@ -592,7 +594,7 @@
Calcolo target temporaneoLoop abilitatoAPS selezionato
- NSClient ha il permesso di scrittura
+ NSClient ha l\'autorizzazione di scritturaModalità chiusa abilitataMax IOB impostata correttamenteBG disponibile da sorgente selezionata
@@ -645,7 +647,7 @@
Abilita SMB con target temporaneiAbilita SMB quando è attivo un target temporaneo (pasto a breve, attività fisica)Abilita SMB con target temporanei \"alti\"
- Abilita SMB quando è attivo un target temporaneo \"alto\"
+ Abilita SMB quando è attivo un target temporaneo \"alto\" (attività fisica, sopra 100 mg/dl o 5.5 mmol/l)InsulinaCHOTasti
@@ -679,7 +681,7 @@
No bolo, solo recordCategoriaSottocategoria
- Il bolo sarà solo registrato
+ Il bolo sarà solo registrato (non erogato dal micro)Riempimento automatico glicemie mancanti da NSSMB impostato dal microAttività
@@ -792,11 +794,11 @@
Seleziona il tipo di profilo. Se il paziente è un bambino dovresti utilizzare il profilo di NS. Se non c\'è nessuno a seguirti su Nightscout probabilmente preferirai il profilo locale. Ricorda che stai solo selezionando la sorgente del profilo. Per utilizzarlo devi attivarlo tramite l\'esecuzione del comando \"Cambio profilo\"Seleziona uno degli algoritmi disponibili. Sono ordinati dal più vecchio al più recente. L\'algoritmo più recente è solitamente più potente e più aggressivo. Pertanto, se sei un nuovo utente, probabilmente dovresti iniziare con AMA e non con l\'ultimo. Non dimenticare di leggere la documentazione di OpenAPS e di configurarlo prima dell\'uso.Avvia il tuo primo obiettivo
- Permesso
- Chiedi il permesso
- L\'applicazione richiede il permesso finestra di sistema per le notifiche
+ Autorizzazione
+ Chiedi l\'autorizzazione
+ L\'applicazione richiede l\'autorizzazione \"finestra di sistema\" per le notificheL\'applicazione richiede l\'accesso alla posizione per la scansione bluetooth e l\'identificazione WiFi
- L\'applicazione richiede l\'accesso alla memoria per salvare i file di log
+ L\'applicazione richiede l\'accesso alla memoria per memorizzare i file di log ed esportare le impostazioniRichiestaConfigura il plugin InsulinaEsci
@@ -820,7 +822,7 @@
Configurazione micro non valida, controlla la documentazione e verifica che il menu Quick Info sia denominato QUICK INFO utilizzando \"360 configuration software\".PersonalizzatoRimuovi gli eventi \"AndroidAPS avviato\"
- Trovate impostazioni salvate
+ Trovate impostazioni memorizzateAttenzione: se attivi e connetti un micro, AndroidAPS copierà le impostazioni della basale dal profilo al micro, sovrascrivendo la velocità basale esistente memorizzata sul micro. Assicurati di avere la giusta impostazione della basale in AndroidAPS. Se non sei sicuro o non vuoi sovrascrivere le impostazioni della basale sul micro, premi annulla e ripeti il processo in un altro momento.Dati trattamento incompletiImpostazioni manutenzione
@@ -999,7 +1001,7 @@
Abbiamo rilevato che stai eseguendo una versione non valida. Loop disabilitato!versione datataversione molto datata
- Nuova versione disponibile per almeno %1$d giorni! Ritorno a LGS dopo %2$d giorni, disattivazione del loop dopo %3$d giorni
+ Nuova versione disponibile da almeno %1$d giorni! Ritorno a LGS dopo %2$d giorni, disattivazione del loop dopo %3$d giorni2hDexcom app (modificata)DXCM
diff --git a/app/src/main/res/values-ko-rKR/strings.xml b/app/src/main/res/values-ko-rKR/strings.xml
index b2b0e5affa..2a7b6512dd 100644
--- a/app/src/main/res/values-ko-rKR/strings.xml
+++ b/app/src/main/res/values-ko-rKR/strings.xml
@@ -557,7 +557,6 @@
임시 목표에서 SMB 사용하기활성화된 임시 목표(식사직전, 운동)가 있으면 SMB를 사용합니다.높은 임시 목표에서 SMB 사용하기
- 활성화된 높은 임시 목표(운동)가 있으면 SMB를 사용합니다.인슐린탄수화물버튼
@@ -585,7 +584,6 @@
실제 Bolus 주입않고, 기록만 하기분류하위 분류
- Bolus가 기록만 됩니다.NS에서 누락된 혈당이 자동으로 채워집니다.펌프에 의한 SMB 설정활동
@@ -701,7 +699,6 @@
권한권한 요청하기알림에 대한 시스템 창 권한이 필요합니다
- 로그 파일을 저장하기 위해 저장공간 권한이 필요로 합니다.요청인슐린 플러그인 설정하기종료
diff --git a/app/src/main/res/values-lt-rLT/strings.xml b/app/src/main/res/values-lt-rLT/strings.xml
index 3a4999bb69..ecf21771c3 100644
--- a/app/src/main/res/values-lt-rLT/strings.xml
+++ b/app/src/main/res/values-lt-rLT/strings.xml
@@ -645,7 +645,6 @@
Įjungti SMB su laikinais tikslaisĮjungti SMB, kai laikinas tikslas aktyvuotas (Netrukus valgysiu, Aktyvumas)Įjungti SMB su intensyviais laikinais tikslais
- Įjungti SMB, kai intensyvūs laikini tikslai yra aktyvūs (sportuosite)InsulinasAVMygtukai
@@ -679,7 +678,6 @@
Boluso nesuleisti, tik įrašytiKategorijaSubkategorija
- Bolusas bus tik įrašytasAutomatiškai atstatyti trūkstamus KG duomenis iš NSSMB nustatyta iš pomposAktyvumas
@@ -796,7 +794,6 @@
Prašyti leidimoNorint gauti pranešimus, programai reikalingas sisteminio lango leidimasProgramai reikia vietos nustatymo leidimo, kad būtų galima naudoti Bluetooth ir WiFi
- Aplikacijai reikia leidimo prieigai prie saugyklos, kad galėtų išsaugoti žurnalo įrašusUžklausaKonfigūruoti insulino įskiepįIšeiti
diff --git a/app/src/main/res/values-nl-rNL/strings.xml b/app/src/main/res/values-nl-rNL/strings.xml
index 6257a7d4ee..7b56429f33 100644
--- a/app/src/main/res/values-nl-rNL/strings.xml
+++ b/app/src/main/res/values-nl-rNL/strings.xml
@@ -645,7 +645,6 @@
Gebruik SMB met tijdelijke streefdoelenGebruik SMB bij een actief tijdelijk streefdoel (eet binnenkort, activiteit)Gebruik SMB met een hoog tijdelijk streefdoel
- Gebruik SMB tijdens een verhoogd tijdelijk doel (Inspanningen)InsulineKoolhydratenKnoppen
@@ -679,7 +678,6 @@
Geen bolus toedienen enkel in behandelingen zettenCategorieSubcategorie
- Bolus zal enkel opgeslagen wordenAutomatische onbekende BGs aanvullen van NSSMB op de pomp ingesteldActiviteit
@@ -796,7 +794,6 @@
Vragen om toestemmingToepassing vereist systeemvenstermachtiging voor meldingenApp heeft locatie toestemming nodig voor Bluetooth scan en WiFi identificatie
- Applicatie heeft toestemming nodig om log bestanden op te kunnen slaanVerzoekGevoeligheid plugin configurerenAfsluiten
diff --git a/app/src/main/res/values-pl-rPL/strings.xml b/app/src/main/res/values-pl-rPL/strings.xml
index fbdaaf5521..adae717203 100644
--- a/app/src/main/res/values-pl-rPL/strings.xml
+++ b/app/src/main/res/values-pl-rPL/strings.xml
@@ -646,7 +646,6 @@
Włącz SMB z tymczasowym poziomem docelowym (TT)Włącz SMB gdy tymczasowy poziom docelowy (TT) jest aktywny (TT WkrótcePosiłek, TT ćwiczenia)Włącz SMB z wysokim tymczasowym poziomem docelowym
- Włącz SMB gdy wysoki tymczasowy poziom docelowy jest aktywny (TT ćwiczenia)InsulinaWęglowod.Przyciski
@@ -680,7 +679,6 @@
Nie podawaj bolusa, tylko zapisz rekordKategoriaPodkategoria
- Bolus zostanie tylko zapisany w rekordachAutomatycznie wypełnij brakujące BG z NSSMB ustawiony przez pompęAktywność
@@ -797,7 +795,6 @@
Zapytaj o uprawnieniaAplikacja wymaga uprawnienia systemowego okna dla powiadomieńAplikacja wymaga dostępu do lokalizacji dla zarządzania bluetoothem i identyfikacją Wi-Fi
- Aplikacja wymaga dostępu do magazynu plików, aby móc przechować pliki logówŻądanieSkonfiguruj wtyczkę insulinyWyjście
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index b7cbff5ccf..0715e9d177 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -615,7 +615,6 @@
SMB activo com valores alvo temporáriosSMB activo quando há valor alvo temporário activo (exercício, etc)SMB activo com alvos temporários elevados
- SMB activo com alvos temporários elevados em curso (exercicio)InsulinaCarbosBotões
@@ -646,7 +645,6 @@
Sem bólus, registar apenasCategoriaSubcategoria
- O bolus apenas será gravadoPreencher glicemias em falta com NSSMB definido pela bombaAtividade
@@ -762,7 +760,6 @@
PermissãoPedir permissãoAplicação precisa de permissão de janela do sistema para notificações
- Aplicação necessita da permissão de armazenamento para ser capaz de armazenar ficheiros de registoPedidoConfigurar plugin InsulinaSair
diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml
index fe8fa28420..94e1553640 100644
--- a/app/src/main/res/values-pt-rPT/strings.xml
+++ b/app/src/main/res/values-pt-rPT/strings.xml
@@ -172,6 +172,8 @@
Será perguntado pela senha mestre, que será necessária para desencriptar preferências importadas.Exportação cancelada! Preferências NÃO foram exportadas!Importação cancelada! Preferências NÃO foram importadas!
+ Não é possível importar as preferências!
+ Por favor, volte ao ecrã principal e tente novamente.Seleccione o ficheiro para importaçãoPor favor, verifique as preferências antes da importação:Preferências não podem ser importadas!
@@ -645,7 +647,7 @@
SMB activo com valores alvo temporáriosSMB activo quando há valor alvo temporário activo (exercício, etc)SMB activo com alvos temporários elevados
- SMB activo com alvos temporários elevados em curso (exercicio)
+ Activar SMB quando há alvo temporário elevado activo (exercício, acima de 100 mg/dl ou 5,5 mmol/l)InsulinaHidratosBotões
@@ -679,7 +681,7 @@
Sem bólus, registar apenasCategoriaSubcategoria
- O bolus apenas será gravado
+ Bólus será registado apenas (não administrado pela bomba)Preencher glicemias em falta com NSSMB definido pela bombaActividade
@@ -796,7 +798,7 @@
Pedir permissãoAplicação precisa de permissão de janela do sistema para notificaçõesAplicação necessita de permissão de localização para pesquisa Bluetooth e identificação Wi-Fi
- Aplicação necessita da permissão de armazenamento para ser capaz de armazenar ficheiros de registo
+ Aplicação precisa da permissão de armazenamento para poder armazenar ficheiros de registo e exportar configuraçõesPedidoConfigurar plugin InsulinaSair
diff --git a/app/src/main/res/values-ro-rRO/strings.xml b/app/src/main/res/values-ro-rRO/strings.xml
index d3db306fff..7b45c672a3 100644
--- a/app/src/main/res/values-ro-rRO/strings.xml
+++ b/app/src/main/res/values-ro-rRO/strings.xml
@@ -172,6 +172,8 @@
Vi se va solicita parola principală, care este necesară pentru a decripta setările importate.Exportarea a eșuat! Preferințele NU au fost exportate!Importarea a eșuat! Preferințele NU au fost importate!
+ Nu se pot prelua setările!
+ Mergeți la ecranul principal și încercați din nou.Selectați fișierul pentru importVerificați preferințele înainte de a le importa:Preferințele nu pot fi importate!
@@ -300,6 +302,7 @@
Pregătire/umplereAsigurați-vă că aveți cantitatea specificată de instrucțiunile setului de infuzie!Alte
+ Umplere/Amorsare folosind cantitățile standard de insulinăButon 1Buton 2Buton 3
@@ -644,7 +647,6 @@
Activează SMB cu ținte temporareActivează SMB chiar atunci când este o țintă temporară activă (mâncare in curând, exerciții fizice)Activează SMB cu ținte temporare mari
- Activează SMB atunci când există o țintă temporară mare activă (exerciții fizice)InsulinăCarbohidrațiButoane
@@ -678,7 +680,7 @@
Nu bolusa, doar înregistreazăCategorieSubcategorie
- Bolusul se va înregistra doar
+ Bolusul va fi doar consemnat (nu va fi livrat de pompă)Autocompletează valorile glicemiei lipsă din NSSMB setat de pompăActivitate
@@ -795,7 +797,7 @@
Solicitați permisiuneaAplicația are nevoie de permisiune la fereastra sistemului pentru a afișa notificăriAplicația are nevoie sa acceseze locația pentru scanare Bluetooth și identificare WiFi
- Aplicația necesită permisiune de acces la mediul de stocare pentru a putea înregistra jurnalele
+ Aplicația are nevoie de permisiunea de a accesa unitatea de stocare pentru a scrie fișierele registru și pentru a exporta setărileCerințăConfigurați plugin insulinăIeșire
@@ -823,6 +825,7 @@
Atenție: Dacă activați și conectați o pompă fizică, AndroidAPS va copia setările bazalelor din profilurile din aplicație în pompă, suprascriindu-le pe cele existente deja în pompă. Asigurați-vă că aveți setările corecte ale bazalelor în AndroidAPS. Dacă aveți dubii sau nu doriți suprascrierea setărilor bazalelor existente în pompă, apăsați butonul de anulare și repetați acțiunea mai târziu.Date incomplete despre tratamentSetări de întreținere
+ Destinatar emailCriptează setările exportateNr de loguri de trimisMentenanță
@@ -868,6 +871,7 @@
Dezactivează vibrațiile la livrarea manuală de bolusPentru bolus și bolus extins (valabil doar cu modelul Insight firmware 3.x)Dezactivați vibrațiile la livrarea automată de bolus
+ Pentru SMB şi Bazale Temporare cu emulare de TBR (disponibil doar cu Insight firmware 3.x)Întârziere a deconectării [s]Număr de serieVersiunea de software
@@ -972,6 +976,8 @@
Înregistrează bazalele temporareÎnregistrează schimbările de profil, țintele temporareÎnregistrează testările de glicemie
+ Schimbare oră vară/iarnă în mai puțin de 24h
+ Schimbare oră vară/iarnă în mai puțin de 3 ore - buclă închisă dezactivatărestricție de stocare internăEliberați cel puțin %1$d MB din spațiunl de stocare al telefonlui! Buclă dezactivată!Format greșit
@@ -994,6 +1000,7 @@
S-a detectat rularea unei versiuni invalide. Buclă dezactivată!versiune vecheversiune foarte veche
+ O versiune nouă este disponibilă de cel puțin %1$d zile! Reveniți la LGS după %2$d zile, bucla închisă va fi dezactivată după %3$d zile2hAplicația Dexcom (modificată)DXCM
@@ -1008,6 +1015,8 @@
existănu existăȚintă temporară %1$s
+ Conexiune Bluetooth cu dispozitivul %1$s %2$s
+ Conexiune la dispozitivul Bluetooth WiFi SSID %1$s %2$sAutosens %1$s %2$s %%Autosens %
@@ -1022,12 +1031,18 @@
Nume:%1$s %2$sCând
+ Când sunteți în interiorul zonei
+ Când sunteți în afara zonei
+ Când intrați în zona numită
+ Când părăsiți zona numităUltimul bolusUltimul bolus acum %1$s %2$s minCOBCOB %1$s %2$.0fNumele acțiuniiEDITARE
+ Selectați tipul de acțiune
+ Selectați un tip de factor declanșatorDeclanșatori:ȘTERGECondiții pre-existente:
@@ -1057,6 +1072,7 @@
Litiu (Afișare extinsă)NiZn (Afișare extinsă)NiMH (Afișare extinsă)
+ Depanare Bolus/TratamenteSCANSTOP
@@ -1116,6 +1132,7 @@
Frecvența pompei nesuportată.Adresa RileyLink invalidă.Tipul de pompă detectat nu corespunde cu cel configurat.
+ Setările de profil/șablon bazale nu sunt activate în pompă. Vă rugăm să le activați din pompă.Tipul de profil bazal setat în pompă este incorect (trebuie să fie STD).Tip incorect de RBT setat în pompă (trebuie să fie Absolut).Bolus maxim setat incorect în pompă (trebuie să fie %1$.2f).
@@ -1166,6 +1183,7 @@
Ultima conexiune la pompă [minute în urmă]Ultima conexiune la pompă %1$s %2$s minute în urmăTrimite SMS: %1$s
+ Trimite SMS către toate numereleTrimite SMS cu text%2$+.2fU]]>Restricție de bolus aplicată: %2$.2fU la %3$.2fU]]>
@@ -1188,29 +1206,50 @@
Nume profil:Selectat:Unități
+ Doriți să schimbați profilul și să renunțați la modificările făcute profilului curent?%1$dgPornitOprit
+ Șterge starea \"Terminat\"
+ Șterge starea \"Început\"
+ Doriți să reîncepeți obiectivul? Vă puteți pierde progresul.
+ Schimbare oră și/sau fus orar în pompăNicio pompă selectată
+ Selectați unitățile în care doriți să afișați valorile
+ Transmiteți modificările profilului local către NSDIAICISFTARGClonează
+ Salvează sau resetează modificările curente mai întâiŞtergeţi profilul curent?
+ Creați un profil local nou pe baza acestui profil?
+ Numele profilului conține puncte.\nAcest lucru nu este permis de NS.\nProfilul nu a fost înregistrat în NS.
+ Valoarea inferioară a intervalului țintă (doar afișare)
+ Valoarea superioară a intervalului țintă (doar afișare)ReordoneazăVârstă:Greutate:ID:Trimiteți
+ Cel mai frecvent profil:
+ Notă: Doar datele vizibile pe acest ecran vor fi încărcate în mod anonim. ID-ul este alocat acestei instalări de AndroidAPS. Puteți trimite date din nou dacă profilul dumneavoastră principal se modifică, dar lăsați-l să ruleze cel puțin o săptămână pentru ca rezultatul să fie vizibil în interval de timp. Ajutorul dvs. este binevenit.
+ SondajValoare vârstă invalidăValoare greutate invalidă
+ Intrare % invalidă%1$s: Hipo: %2$02d%% Normal: %3$02d%% Hiper: %4$02d%%]]>MedieTimp în țintă
+ Monitorizare activitate
+ Doriți să resetați statisticile de activitate?Statistici
+ Glicemie aleatoare
+ Generare glicemie aleator (doar mod Demo)GlicemieInstrumente
+ Arată calcululEveniment automatizareDeja setatȘtergeți coada? Toate datele din coadă vor fi pierdute!
@@ -1267,6 +1306,9 @@
Bip pentru Bolus ActivatBip pentru Bazală ActivatBip pentru SMB Activat
+ Bip pentru TBR Activat
+ Opțiuni de depanare Pod Activate
+ Detectare DST/fus orar activatăPod MgmtStatus Pod
@@ -1277,12 +1319,32 @@
Nu există informațiiNiciun Pod conectatNeiniţializat
+ Alerte pod activeAlerte de confirmareOmnipod (433.91 MHz)
+ Operațiunea nu este posibilă.\n\nTrebuie să configuraţi Omnipod înainte de a putea efectua această operațiune.
+ Operaţiunea nu este posibilă.\n\n Trebuie să aşteptaţi câteva minute până când AAPS încearcă să seteze profilul pentru prima dată.
+ Acțiune PodInitActionType ilegala: %1$sNiciun Pod activ.Verificarea comenzii a eşuat.
+ A apărut o eroare neașteptată. Vă rugăm să o raportați! (tip: %1$s).
+ Comunicarea a eșuat: s-au primit parametri de intrare incorecți.
+ Comunicarea a eșuat: timpul a expirat.
+ Comunicarea a eşuat: a apărut o eroare neaşteptată. Vă rugăm să o raportaţi!
+ Comunicarea a eşuat: verificarea integrităţii mesajului a eşuat.
+ Comunicarea a eşuat: a fost primit un pachet invalid de la Pod.
+ Comunicarea a eșuat: Pod-ul este într-o stare incorectă.
+ Comunicarea a eșuat: s-a primit un răspuns incorect de la Pod.
+ Comunicarea a eșuat: s-a primit un mesaj cu un număr de secvență invalid de la Pod.
+ Comunicarea a eșuat: s-a primit un mesaj cu o adresă invalidă de la Pod.
+ Comunicarea a eșuat: nu s-a reușit decodarea mesajului de la Pod.
+ Comunicarea a eșuat: resincronizarea nonce nu a reușit.
+ Comunicarea a eșuat: nonce nu poate fi sincronizată.
+ Comunicarea a eşuat: nu s-au primit suficiente date de la Pod.
+ A fost detectată o eroare a Pod-ului (%1$03d %2$s). Vă rugăm să îl dezactivați pe acesta și să porniți unul nou.
+ Comunicarea a eșuat: Pod-ul a returnat un răspuns de eroare.Gestionare PodInițializare Pod
@@ -1292,6 +1354,9 @@
Setează bolusulAnulați BolusSetează bazala temporară
+ Anulați bazală temporară (la nivel intern de către driver)
+ Anulați bazală temporară (impus de către utilizator)
+ Programați ratele bazaleObțineți Status PodObțineți Informații PodSetare timp
@@ -1316,7 +1381,10 @@
Informații Pod\nPod-ul este acum activ.\n\nRatele bazale au fost programate și canula a fost introdusă.\n\nVă rugăm să verificați că acul a fost introdus corect. Dacă considerați ca nu, înlocuiți Pod-ul.Dezactivare Pod
+ \nApăsați Următorul pentru a dezactiva Pod-ul.\n\nNotă: Acest lucru va suspenda orice livrare de insulină și va dezactiva Pod-ul.Dezactivare Pod
+ Dezactivare Pod.\n\nAtunci când toate elementele sunt gata, puteți apăsa Următorul.\n\nNotă: Dacă dezactivarea eșuează continuu, vă rugăm să apăsați Anulează și folosiți opțiunea Resetare Pod pentru a forța resetarea Pod-ului.
+ Pod dezactivat.\n\nScoateți Pod-ul și aruncați-l.Împerechere PodAmorsare PodUmplere Canulă
@@ -1326,8 +1394,28 @@
Integrare cu pompa pentru Omnipod Dash.
+ Finalizare memento împerechere
+ Finalizare memento setarePod-ul va expira în curândPod-ul va expira în curândOprirea este iminentă
+ Nivel rezervor scăzutAlertă necunoscută
+ Setarea ratelor bazale s-ar putea să fi eșuat. Livrarea ar putea fi suspendată! Vă rugăm să reactualizați starea Pod-ului.
+ Setarea ratelor bazale temporare s-ar putea să fi eșuat. Dacă a existat o bazală temporară în livrare, aceasta ar putea fi fost anulată! Vă rugăm să reactualizați starea Pod-ului.
+ Setarea datei și orei s-ar putea să fi eșuat. Livrarea ar putea fi suspendată! Vă rugăm să reactualizați starea Pod-ului.
+ Nu se poate verifica dacă bolusul a reușit. Verificați dacă Pod livrează ceva sau anulați bolusul.
+ Statistici RL
+ Jurnal Puls
+ Compară profilurile
+ Ajutor profil
+ Profil implicit
+ Profil curent
+ Profil disponibil
+ Tip profil
+ Vârstă: %1$.0f TDD: %2$.0f kg
+ Vârstă: %1$.0f TDD: %2$.0f U %3$d%%
+ Vârstă: %1$.0f Greutate: %2$.0f kg
+ % din bazală
+ Profil implicit DPV
diff --git a/app/src/main/res/values-ru-rRU/strings.xml b/app/src/main/res/values-ru-rRU/strings.xml
index 5e2010173c..88a32efdae 100644
--- a/app/src/main/res/values-ru-rRU/strings.xml
+++ b/app/src/main/res/values-ru-rRU/strings.xml
@@ -645,7 +645,6 @@
Включить супер микро болюс SMB с временными целямиВключить супер микро болюс SMB при активной временной цели (близкий прием пищи, нагрузка)Включить супер микро болюс SMB с высокими значениями временных целей
- Включить супер микро болюс SMB при высоком значении действующей временной цели (нагрузка)ИнсулинКол-во углеводовКнопки
@@ -679,7 +678,6 @@
Не подавать болюс, только внести записьКатегорияПодкатегория
- Болюс будет только записанЗаполнять пропущенные данные из NSСупер микро болюс SMB задан помпойНагрузка
@@ -798,7 +796,6 @@ Context | Edit ContextЗапросить права доступаПриложению требуется разрешение системного окна для уведомленийПриложению требуется разрешение на доступ к местоположению для сканирования BT и идентификации WiFi
- Приложение нуждается в разрешении доступа к хранению данных для хранения лог-файловЗапросНастроить плагин инсулинаВыход
diff --git a/app/src/main/res/values-sk-rSK/strings.xml b/app/src/main/res/values-sk-rSK/strings.xml
index cc194deba5..bbd36a5729 100644
--- a/app/src/main/res/values-sk-rSK/strings.xml
+++ b/app/src/main/res/values-sk-rSK/strings.xml
@@ -172,6 +172,8 @@
Budete vyzvaný na zadanie hlavného hesla, ktoré bude použité na dešifrovanie importovaných nastavení.Export zrušený! Nastavenia neboli exportované!Import zrušený! Nastavenia neboli importované!
+ Nastavenia sa nedajú importovať!
+ Prosím, vráťte se späť na hlavnú obrazovku a skúste to znovu.Vyberte súbor, ktorý chcete importovaťProsím skontrolujte nastavenia predtým, ako importujete:Nastavenia nemôžu byť importované!
@@ -645,7 +647,7 @@
Povoliť SMB s dočasnými cieľmiPovoliť SMB, pokiaľ je aktívny dočasný cieľ (aktivita, blížiace sa jedlo)Povoliť SMB s vysokými dočasnými cieľmi
- Povoliť SMB, pokiaľ je aktívny vysoký dočasný cieľ (aktivita)
+ Povoliť SMB, ak je aktívny vysoký cieľ (cvičenie, vyšší ako 5,5 mmol/l)InzulínSacharidyTlačidlá
@@ -679,7 +681,7 @@
Nepodať bolus, iba zaznamenaťKategóriaPodkategória
- Bolus bude iba zaznamenaný
+ Bolus bude iba zaznamenaný (nie pumpou vydaný)Automaticky doplňovať chýbajúcu glykémiu z NSSMB podané pumpouAktivita
@@ -796,7 +798,7 @@
Vyžiadať si povolenieAplikácia vyžaduje pre oznámenia systémové oprávnenieAplikácia vyžaduje oprávnenie polohy, pre vyhľadávanie BT a identifikáciu WiFi
- Aplikácia vyžaduje prístup k úložisku, aby mohla ukladať logy
+ Aby bolo možné nahrávať logy a exportovať nastavenia, je nutné pre aplikáciu povoliť oprávnenie prístupu k úložiskuPožiadavkaNastavenie inzulínového moduluKoniec
@@ -1237,6 +1239,7 @@
PrieskumNeplatný záznam vekuNeplatný záznam váhy
+ Neplatný vstup %%1$s: Pod: %2$02d%% V: %3$02d%% Nad: %4$02d%%]]>PriemerČas v rozsahu
@@ -1412,5 +1415,8 @@
Dostupný profilTyp profiluVek: %1$.0f CDD: %2$.0f U
+ Vek: %1$.0f CDD: %2$.0f JI %3$d%%Vek: %1$.0f Hmotnosť: %2$.0f kg
+ % bazálu
+ Predvolený DPV profil
diff --git a/app/src/main/res/values-sv-rSE/strings.xml b/app/src/main/res/values-sv-rSE/strings.xml
index 9865cdb1e5..9b80583bf0 100644
--- a/app/src/main/res/values-sv-rSE/strings.xml
+++ b/app/src/main/res/values-sv-rSE/strings.xml
@@ -646,7 +646,6 @@ Eversense-appen.Använd SMB vid temp målvärdeAnvänd SMB när temp mål är satt, t ex Äta snart eller TräningAnvänd SMB vid högt målvärde
- Använd SMB även när ett högt temp målvärde är satt (över 5,5 mmol)InsulinKolhydraterKnappar
@@ -680,7 +679,6 @@ Eversense-appen.
Ge ingen bolus, logga baraKategoriUnderkategori
- Bolusen sparas bara i loggbokenHämta saknad BG-data från NightscoutSMB satt i pumpInsulinaktivitet (5m)
@@ -797,7 +795,6 @@ Eversense-appen.
Be om behörighetApplikationen behöver förhöjd behörighet för aviseringarAppen behöver platsåtkomst för bluetooth- och WiFi-identifiering
- Appen behöver behörighet att använda Lagring för att kunna spara loggfilerBegäranKonfigurera insticksprogram för insulinAvsluta
diff --git a/app/src/main/res/values-tr-rTR/strings.xml b/app/src/main/res/values-tr-rTR/strings.xml
index e3da965f38..d4c4f01ee6 100644
--- a/app/src/main/res/values-tr-rTR/strings.xml
+++ b/app/src/main/res/values-tr-rTR/strings.xml
@@ -498,7 +498,6 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d
Geçici hedeflerle SMB\'yi (Super Micro Bolus) etkinleştirGeçici hedef aktif olduğunda SMB\'yi etkinleştir (yakında yeme, egzersiz)Yüksek geçici bazal oran hedefleriyle SMB\'yi etkinleştir
- Yüksek geçici bazal oran hedef etkin olduğunda SMB\'yi etkinleştirin (egzersiz)İnsülinKarbonhidratTuşlar
@@ -524,7 +523,6 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d
Bolusu sadece kayıt altına alKategoriAlt kategori
- Bolus sadece kaydedilecekNightscout\'tan eksik kan şekeri değerlerini otomatik olarak yükleyinSMB (Supermicroboluses) pompa tarafından verildiDuyarlılık
@@ -637,7 +635,6 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d
İlk hedefinize başlayınYetkiİzin için sorunuz
- Uygulama, log dosyalarını depolayabilmek için depolama izni gerektiriyorİstekİnsülin eklentisini yapılandırÇıkış
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index f566195d3e..de8e50b729 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -525,7 +525,6 @@
启用带有临时目标的SMB当临时目标处于活动状态时启用 SMB (很快吃饭, 运动)启用具有高临时目标的 SMB
- 当临时目标处于活动状态(锻炼)时启用SMB胰岛素碳水按钮
@@ -553,7 +552,6 @@
不打大剂量,只记录类别子类别
- 大剂量将仅被记录Autobackfill 现在无法从NS获取血糖通过泵设置SMB微型大剂量活动
@@ -667,7 +665,6 @@
开始你的第一个目标权限请求权限
- 应用程序需要存储权限才能存储日志文件请求配置胰岛素插件退出
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index acfb3d2760..fe902fd74b 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -761,7 +761,7 @@
Enable SMB with temp targetsEnable SMB when there is temp target active (eating soon, exercise)Enable SMB with high temp targets
- Enable SMB when there is high temp target active (exercise)
+ Enable SMB when there is high temp target active (exercise, above 100 mg/dl or 5.5 mmol/l)InsulinCarbsButtons
diff --git a/app/src/main/res/xml/pref_openapssmb.xml b/app/src/main/res/xml/pref_openapssmb.xml
index f30107ea15..9123bb66d3 100644
--- a/app/src/main/res/xml/pref_openapssmb.xml
+++ b/app/src/main/res/xml/pref_openapssmb.xml
@@ -38,20 +38,6 @@
android:summary="@string/enablesmb_summary"
android:title="@string/enablesmb" />
-
-
-
-
+
+
+
+
()
diff --git a/build.gradle b/build.gradle
index 89449cca58..aeeb75768d 100644
--- a/build.gradle
+++ b/build.gradle
@@ -20,7 +20,7 @@ buildscript {
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.6.3'
+ classpath 'com.android.tools.build:gradle:4.0.1'
classpath 'com.google.gms:google-services:4.3.3'
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.1.1'
diff --git a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.java b/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.java
index a4475886f6..c82ecba37d 100644
--- a/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.java
+++ b/core/src/main/java/info/nightscout/androidaps/plugins/pump/common/PumpPluginAbstract.java
@@ -324,7 +324,7 @@ public abstract class PumpPluginAbstract extends PumpPluginBase implements PumpI
@NonNull @Override
public JSONObject getJSONStatus(Profile profile, String profileName, String version) {
- if ((getPumpStatusData().lastConnection + 5 * 60 * 1000L) < System.currentTimeMillis()) {
+ if ((getPumpStatusData().lastConnection + 60 * 60 * 1000L) < System.currentTimeMillis()) {
return new JSONObject();
}
diff --git a/core/src/main/java/info/nightscout/androidaps/utils/DigitsKeyListenerWithComma.java b/core/src/main/java/info/nightscout/androidaps/utils/ui/DigitsKeyListenerWithComma.java
similarity index 99%
rename from core/src/main/java/info/nightscout/androidaps/utils/DigitsKeyListenerWithComma.java
rename to core/src/main/java/info/nightscout/androidaps/utils/ui/DigitsKeyListenerWithComma.java
index a84ccd61a2..6a3189c287 100644
--- a/core/src/main/java/info/nightscout/androidaps/utils/DigitsKeyListenerWithComma.java
+++ b/core/src/main/java/info/nightscout/androidaps/utils/ui/DigitsKeyListenerWithComma.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.utils;
+package info.nightscout.androidaps.utils.ui;
import android.text.InputType;
import android.text.SpannableStringBuilder;
diff --git a/core/src/main/java/info/nightscout/androidaps/utils/ui/MinutesNumberPicker.kt b/core/src/main/java/info/nightscout/androidaps/utils/ui/MinutesNumberPicker.kt
new file mode 100644
index 0000000000..d00a91104a
--- /dev/null
+++ b/core/src/main/java/info/nightscout/androidaps/utils/ui/MinutesNumberPicker.kt
@@ -0,0 +1,33 @@
+package info.nightscout.androidaps.utils.ui
+
+import android.content.Context
+import android.text.TextWatcher
+import android.util.AttributeSet
+import android.util.Log
+import android.view.View.OnFocusChangeListener
+import android.widget.Button
+import info.nightscout.androidaps.core.R
+import java.text.DecimalFormat
+
+class MinutesNumberPicker constructor(context: Context, attrs: AttributeSet? = null) : NumberPicker(context, attrs) {
+
+ fun setParams(initValue: Double, minValue: Double, maxValue: Double, step: Double, allowZero: Boolean, okButton: Button? = null, textWatcher: TextWatcher? = null) {
+ super.setParams(initValue, minValue, maxValue, step, null, allowZero, okButton)
+ }
+
+ override fun updateEditText() {
+ if (value == 0.0 && !allowZero) editText.setText("")
+ else {
+ if (focused) editText.setText(DecimalFormat("0").format(value))
+ else {
+ val hours = (value / 60).toInt()
+ val minutes = (value - hours * 60).toInt()
+ val formatted =
+ if (hours != 0) String.format(context.getString(R.string.format_hour_minute), hours, minutes)
+ else DecimalFormat("0").format(value)
+ editText.setText(formatted)
+ }
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/core/src/main/java/info/nightscout/androidaps/utils/NumberPicker.java b/core/src/main/java/info/nightscout/androidaps/utils/ui/NumberPicker.java
similarity index 90%
rename from core/src/main/java/info/nightscout/androidaps/utils/NumberPicker.java
rename to core/src/main/java/info/nightscout/androidaps/utils/ui/NumberPicker.java
index c9973579ed..da5bf0ab92 100644
--- a/core/src/main/java/info/nightscout/androidaps/utils/NumberPicker.java
+++ b/core/src/main/java/info/nightscout/androidaps/utils/ui/NumberPicker.java
@@ -1,5 +1,6 @@
-package info.nightscout.androidaps.utils;
+package info.nightscout.androidaps.utils.ui;
+import android.app.Service;
import android.content.Context;
import android.os.Handler;
import android.os.Message;
@@ -10,6 +11,7 @@ import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
+import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
@@ -20,6 +22,8 @@ import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import info.nightscout.androidaps.core.R;
+import info.nightscout.androidaps.utils.SafeParse;
+import info.nightscout.androidaps.utils.ToastUtils;
/**
* Created by mike on 28.06.2016.
@@ -39,12 +43,14 @@ public class NumberPicker extends LinearLayout implements View.OnKeyListener,
Double minValue = 0d;
Double maxValue = 1d;
Double step = 1d;
- NumberFormat formater;
+ NumberFormat formatter;
boolean allowZero = false;
TextWatcher textWatcher = null;
Button okButton = null;
+ protected Boolean focused = false;
+
private Handler mHandler;
private ScheduledExecutorService mUpdater;
private OnValueChangedListener mOnValueChangedListener;
@@ -93,7 +99,7 @@ public class NumberPicker extends LinearLayout implements View.OnKeyListener,
LayoutInflater.from(context).inflate(R.layout.number_picker_layout, this, true);
}
- private void initialize(Context context) {
+ protected void initialize(Context context) {
// set layout view
inflate(context);
@@ -136,7 +142,7 @@ public class NumberPicker extends LinearLayout implements View.OnKeyListener,
@Override
public void afterTextChanged(Editable s) {
- value = SafeParse.stringToDouble(editText.getText().toString());
+ if (focused) value = SafeParse.stringToDouble(editText.getText().toString());
callValueChangedListener();
if (okButton != null) {
if (value > maxValue || value < minValue)
@@ -146,6 +152,13 @@ public class NumberPicker extends LinearLayout implements View.OnKeyListener,
}
}
});
+
+ editText.setOnFocusChangeListener(new OnFocusChangeListener() {
+ @Override public void onFocusChange(View v, boolean hasFocus) {
+ focused = hasFocus;
+ updateEditText();
+ }
+ });
}
@Override
@@ -196,7 +209,7 @@ public class NumberPicker extends LinearLayout implements View.OnKeyListener,
this.minValue = minValue;
this.maxValue = maxValue;
this.step = step;
- this.formater = formater;
+ this.formatter = formater;
this.allowZero = allowZero;
callValueChangedListener();
this.okButton = okButton;
@@ -254,11 +267,11 @@ public class NumberPicker extends LinearLayout implements View.OnKeyListener,
updateEditText();
}
- private void updateEditText() {
+ protected void updateEditText() {
if (value == 0d && !allowZero)
editText.setText("");
else
- editText.setText(formater.format(value));
+ editText.setText(formatter.format(value));
}
private void callValueChangedListener() {
@@ -286,6 +299,9 @@ public class NumberPicker extends LinearLayout implements View.OnKeyListener,
@Override
public void onClick(View v) {
if (mUpdater == null) {
+ InputMethodManager imm = (InputMethodManager) getContext().getSystemService(Service.INPUT_METHOD_SERVICE);
+ imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
+ editText.clearFocus();
if (v == plusButton) {
inc(1);
} else {
diff --git a/core/src/main/res/values-bg-rBG/strings.xml b/core/src/main/res/values-bg-rBG/strings.xml
index c5dd9b89d9..cfc0c66552 100644
--- a/core/src/main/res/values-bg-rBG/strings.xml
+++ b/core/src/main/res/values-bg-rBG/strings.xml
@@ -178,4 +178,5 @@
ОБИ * 2Засичане на времето
+ %1$dч:%2$dм
diff --git a/core/src/main/res/values-cs-rCZ/strings.xml b/core/src/main/res/values-cs-rCZ/strings.xml
index b43fd3aa13..95f919a313 100644
--- a/core/src/main/res/values-cs-rCZ/strings.xml
+++ b/core/src/main/res/values-cs-rCZ/strings.xml
@@ -180,4 +180,5 @@
CZB * 2Detekce času
+ %1$dh %2$dm
diff --git a/core/src/main/res/values-de-rDE/strings.xml b/core/src/main/res/values-de-rDE/strings.xml
index 36897e9551..dba64be545 100644
--- a/core/src/main/res/values-de-rDE/strings.xml
+++ b/core/src/main/res/values-de-rDE/strings.xml
@@ -163,7 +163,7 @@
Auf Pumpenergebnis wartenSMB
- Innerhalb der nächsten %d Minuten werden %dg zusätzliche Kohlenhydrate benötigt
+ %dg Kohlenhydrate sollten innerhalb von %d Minuten aufgenommen werdenStatistikKumulative TDD
diff --git a/core/src/main/res/values-it-rIT/strings.xml b/core/src/main/res/values-it-rIT/strings.xml
index 2f1699b202..ec89044e9b 100644
--- a/core/src/main/res/values-it-rIT/strings.xml
+++ b/core/src/main/res/values-it-rIT/strings.xml
@@ -180,4 +180,5 @@
TBB * 2Rilevamento tempo
+ %1$dh %2$dm
diff --git a/core/src/main/res/values-pt-rPT/strings.xml b/core/src/main/res/values-pt-rPT/strings.xml
index 6f9016efbb..8ac8977e20 100644
--- a/core/src/main/res/values-pt-rPT/strings.xml
+++ b/core/src/main/res/values-pt-rPT/strings.xml
@@ -180,4 +180,5 @@
Basal diária * 2Detecção de tempo
+ %1$dh %2$dm
diff --git a/core/src/main/res/values-ro-rRO/strings.xml b/core/src/main/res/values-ro-rRO/strings.xml
index dd088ac088..e5fc169564 100644
--- a/core/src/main/res/values-ro-rRO/strings.xml
+++ b/core/src/main/res/values-ro-rRO/strings.xml
@@ -1,14 +1,18 @@
+ ÎmperechereEroareNesetată
+ Actualizarea profilului bazalei a eșuatProfilul bazalei a fost modificat în pompăDate de intrare incorecteEroare la livrare bazală temporară
+ Se vor livra %1$.2fUSe așteaptă pompaConectat de %1$d sSe livrează %1$.2fU
+ ÎmperechereSe conecteazăConectatDeconectat
@@ -26,9 +30,11 @@
ObiectiveÎnchideAșteptați…
+ LinișteReîncărcareSTOP APĂSATStop
+ CarbohidrațiProfil invalid!!!NICIUN PROFIL SETATData
@@ -43,6 +49,8 @@
BaterieUltima conexiuneUltimul bolus
+ Unități zilnic
+ Rată bazală implicităBazală temporarăBolus extinsRezervor
@@ -53,8 +61,12 @@
mmol/lSetări avansateBluetooth
+ BT Watchdog
+ Oprește bluetooth-ul telefonului pentru o secundă dacă nu se poate conecta la pompă. Aceasta poate ajuta în cazul telefoanelor cu bluetooth incompatitibil.
+ Se limitează maximul ratei bazale la %1$.2f U/o datorită %2$slimită pompă
+ Se limitează procentul ratei maxime la %1$d%% datorită %2$strebuie să fie o valoare pozitivăSe limitează bolusul la %1$.1f U datorită %2$sPompa nu este inițializată, profilul nu este setat!
@@ -65,8 +77,10 @@
RenunțăRENUNȚĂ
+ BLE nu este suportat.Bluetooth-ul este dezactivat.Localizarea este dezactivată
+ Pentru a putea căuta dispozitive Bluetooth noi, trebuie să activați localizarea. AAPS nu folosește datele dumneavoastră de localizare și acestea pot fi dezactivate după stabilirea conexiunii cu pompa.acum %1$dmin%1$.1f h în urmă
@@ -86,21 +100,31 @@
minz
+ Valori bazale nesincronizate cu ora: %1$s
+ Valoarea bazalei a fost înlocuită cu valoarea minimă posibilă: %1$s
+ Valoarea bazalei a fost înlocuită cu valoarea maximă posibilă: %1$s/UU/hg/UNiciun profil selectat
+ * Pompa virtuală acceptă doar valori specifice ca și incremente, nu și intervale de valori.
+* Doar valorile specifice, nu şi intervalele de valori sunt suportate ca şi incremente în pompa virtuală.
+ Anulează bazala temporarăLasă să funcționeze bazala temporară
+ RatăDuratăMotiv
+ Nu este solicitată nicio schimbareProfil invalid: %1$s%1$dmin
+ %1$s: ∑: %2$.2fU Bolus: %3$.2fU Bazal: %4$.2fU(%5$.0f%%)]]>
+ %1$s: ∑: %2$.2fU Bolus: %3$.2fU Bazal: %4$.2fU(%5$.0f%%) CH: %6$.0fg]]>Verificare glicemieAnunț
@@ -111,18 +135,26 @@
Inserare senzorStart senzorSchimbare cartuș insulină
+ Schimbare de profil
+ Bolus Gustare
+ Bolus MasăBolus de corecție
+ Bolus comboStart bazală temporarăSfârșit bazală temporarăCorecție de carbohidrați
+ OpenAPS OfflineSchimbare baterie pompăŢintă temporară
+ Oprire ţintă temporarăDegetSenzorManualnecunoscută
+ Conectare eșuată
+ ExecutatComentariuSuccesProcent
@@ -132,7 +164,9 @@
Se așteaptă rezultatulSMB
+ %dg carbohidrați suplimentari necesari în %d minute
+ StatisticiTDD cumulatTDD estimat exponențialBazală
@@ -141,7 +175,11 @@
Rata# ZileGreutate
+ Posibil fără acuratețe bună dacă folosiți bolus de insulină pentru amorsare/umplere!Date vechi, apăsați \"REÎNCĂRCARE\"
+ Total bazală implicităTBB * 2
+ Detectare timp
+ %1$dh %2$dm
diff --git a/core/src/main/res/values-sk-rSK/strings.xml b/core/src/main/res/values-sk-rSK/strings.xml
index 6d94bd4433..c6ddf0f746 100644
--- a/core/src/main/res/values-sk-rSK/strings.xml
+++ b/core/src/main/res/values-sk-rSK/strings.xml
@@ -122,6 +122,8 @@
%1$dmin
+ %1$s: ∑: %2$.2fJI Bol: %3$.2fJI Baz: %4$.2fJI(%5$.0f%%)]]>
+ %1$s: ∑: %2$.2fJI Bol: %3$.2fJI Baz: %4$.2fJI(%5$.0f%%) Sach.: %6$.0fg]]>Kontrola glykémieOznámenie
@@ -178,4 +180,5 @@
TBB * 2Detekcia času
+ %1$dh %2$dm
diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml
index 293ed0d2d9..af37bbf430 100644
--- a/core/src/main/res/values/strings.xml
+++ b/core/src/main/res/values/strings.xml
@@ -220,6 +220,7 @@
Time detection
+ %1$dh %2$dmOperation not supported by pump and/or driver.
diff --git a/dana/src/main/res/layout/danar_user_options_activity.xml b/dana/src/main/res/layout/danar_user_options_activity.xml
index 9996fa93d0..94f23c5f96 100644
--- a/dana/src/main/res/layout/danar_user_options_activity.xml
+++ b/dana/src/main/res/layout/danar_user_options_activity.xml
@@ -175,7 +175,7 @@
android:text="@string/danar_screentimeout"
android:textSize="14sp" />
-
-
-
-
+ ÎmperechereNiciun dispozitiv găsit până acumConectare OKConectare nereușită
@@ -8,21 +9,33 @@
DanaIntegrare cu pompele DANA Diabcare RSÎncălcare a valorii maxime a bolusului
+ Eroare de comandă
+ Eroare de viteză
+ Încălcare a limitării cantităţii de insulinăSolicitat: %1$.2fU Livrat: %2$.2fU Cod eroare: %3$sValoare setată incorect
+ Setare pas bazală la 0.01 U/hResetați informațiile de împerechere?%1$s\nModel: %2$02X\nProtocol: %3$02X\nCod: %4$02X
+ Se procesează activitateaActivează bolusuri extinse în pompăLivratOpritSoft pompă incompatibilEroare a pompei
+ Baterie aproape descărcată
+ Se livrează mai puțin decât rata bazală curentă
+ Oprire pompăBateria pompei este descărcatăOcluzieRezervor gol
+ Verificați canulaMaxim bazalăMaximum zilnicAlertă măsurare glicemie
+ Nivel insulină disponibilă
+ Bolus pierdut
+ Informații de împerechere invalide. Cerere de împerechere nouăSe primește starea pompeiSe citește starea bolusului extinsSe citește starea bolusului
@@ -30,10 +43,17 @@
Se citesc setările pompeiSe citește ora pompeiDiferență majoră de timp
+ Diferență majoră de timp:\nOra din pompă este diferită cu mai multe de 1.5 ore.\nPotriviți manual ora din pompă și asigurați-vă că sincronizarea cu datele istorice din pompă nu va produce un comportament neașteptat.\nDacă este posibil, ștergeți istoricul pompei înaintea modificării orei și inactivați bucla închisă pentru un interval DIA după ultima intrare istorică cu timp greșit, dar minim o DIA de acum încolo.
+ Vă rog să împerecheați pompa cu telefonul!
+ Se apropie limita zilnică de insulinăPornire livrare bolus
+ Se așteaptă terminarea bolusării. Mai sunt %1$d secunde.Se oprește bazala temporară
+ Se pornește bolusul extinsSe oprește bolusul extins
+ Se actualizează ratele bazaleSe setează bazala temporară
+ Se așteaptă o sincronizare a timpului (%1$d s)Parolă greșităParola pompei greșită!Alarme
@@ -47,21 +67,31 @@
SuspendareAmorsareOpțiunile utilizatorului
+ Formatul de afișare a timpuluiButon derulareSunet la apăsarea butonuluiAlarmăSunetVibrațieAmbele
+ Timp stingere ecran [seconds]
+ Timp lumină de fundal [seconds]
+ Unități glicemieOprire [hours]
+ Rezervor aproape gol [Units]Salvați opțiunile în pompăIntegrare cu pompele DANA Diabcare R
+ Integrare cu pompele DANA Diabcare R coreene
+ Integrare cu pompele DANA Diabcare R cu firmware upgradatDANANu s-a găsit niciun adaptor bluetoothDispozitivul selectat nu a fost găsit
+ Schimbă din modul U/z în U/h în pompăDanaR din CoreeaDanaR
+ Driver pompă corectatDanaRv2
+ Dezactivează modul EasyUI în pompăSetarea profilului bazalei a eșuatStatus BluetoothIOB din pompă
@@ -74,12 +104,19 @@
PornitOpritDispozitive bluetooth DanaR
+ Parolă pompă (numai versiunea 1)Parola pompei
+ Folosiți bolusuri extinse pentru >200%%
+ Afișati bolusul extins ca %%Viteză bolusarePompa selectatăÎnregistrează schimbarea rezervorului
+ Adăugare eveniment \"Schimbare insulină\" în NS/Careportal când este detectat în istoric
+ Înregistrează schimbarea canulei
+ Adăugare eveniment \"Schimbare set\" în portal de îngrijire când este detectat în istoricPIN1PIN2
+ Apăsaţi OK pe pompă\nşi introduceţi cele 2 numere afişate\nPăstraţi ecranul pompei ACTIV apăsând butonul minus până când terminați introducerea codului.1: (12 cifre)2: (8 cifre)
diff --git a/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java b/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java
index df191419c1..f048c101ff 100644
--- a/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java
+++ b/danar/src/main/java/info/nightscout/androidaps/danar/AbstractDanaRPlugin.java
@@ -370,7 +370,7 @@ public abstract class AbstractDanaRPlugin extends PumpPluginBase implements Pump
public JSONObject getJSONStatus(Profile profile, String profilename, String version) {
DanaPump pump = danaPump;
long now = System.currentTimeMillis();
- if (pump.getLastConnection() + 5 * 60 * 1000L < System.currentTimeMillis()) {
+ if (pump.getLastConnection() + 60 * 60 * 1000L < System.currentTimeMillis()) {
return new JSONObject();
}
JSONObject pumpjson = new JSONObject();
diff --git a/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt b/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt
index 7619c7515a..291f2d3b9b 100644
--- a/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt
+++ b/danars/src/main/java/info/nightscout/androidaps/danars/DanaRSPlugin.kt
@@ -567,7 +567,7 @@ class DanaRSPlugin @Inject constructor(
override fun getJSONStatus(profile: Profile, profileName: String, version: String): JSONObject {
val now = System.currentTimeMillis()
- if (danaPump.lastConnection + 5 * 60 * 1000L < System.currentTimeMillis()) {
+ if (danaPump.lastConnection + 60 * 60 * 1000L < System.currentTimeMillis()) {
return JSONObject()
}
val pumpJson = JSONObject()
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index dc6471224f..99c53485da 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Sat Feb 29 21:28:06 CET 2020
+#Tue Jul 28 23:15:57 CEST 2020
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
diff --git a/wear/build.gradle b/wear/build.gradle
index 94441d025d..2443fd17c8 100644
--- a/wear/build.gradle
+++ b/wear/build.gradle
@@ -1,14 +1,17 @@
buildscript {
repositories {
jcenter()
+ maven { url "https://plugins.gradle.org/m2/" } // jacoco 0.2
}
dependencies {
- classpath 'com.dicedmelon.gradle:jacoco-android:0.1.4'
+ //classpath 'com.dicedmelon.gradle:jacoco-android:0.1.4'
+ classpath 'com.hiya:jacoco-android:0.2'
}
}
apply plugin: 'com.android.application'
-apply plugin: 'jacoco-android'
+//apply plugin: 'jacoco-android'
+apply plugin: 'com.hiya.jacoco-android'
jacoco {
toolVersion = "0.8.3"
@@ -125,7 +128,7 @@ dependencies {
testImplementation 'junit:junit:4.13'
testImplementation 'org.json:json:20200518'
- testImplementation ("org.mockito:mockito-core:2.8.47") {
+ testImplementation("org.mockito:mockito-core:2.8.47") {
exclude group: 'net.bytebuddy', module: 'byte-buddy'
exclude group: 'net.bytebuddy', module: 'byte-buddy-android'
exclude group: 'net.bytebuddy', module: 'byte-buddy-agent'
diff --git a/wear/src/main/res/values-ro-rRO/strings.xml b/wear/src/main/res/values-ro-rRO/strings.xml
index 6a55603392..b4b847865f 100644
--- a/wear/src/main/res/values-ro-rRO/strings.xml
+++ b/wear/src/main/res/values-ro-rRO/strings.xml
@@ -3,52 +3,107 @@
AAPSAAPSAAPS
+ AAPS(Mare)
+ AAPS(GraficMare)
+ AAPS(FărăGrafic)
+ AAPS(Cerc)AAPSv2
+ AAPS(Bord)
+ AAPS (Steampunk)Nu există date!Date vechi!
+ De acum %1$sSincronizare cu AAPS!
+ Nu au fost primite date de acum %1$s! Verificați că AAPS pe telefon trimite date către ceas
+ Datele AAPS sunt vechi de %1$s! Verificați senzorul, xDrip+, NS, configurația AAPS sau altele!PornitOprit
+ Vibrare la Bolus
+ Unităţi pentru AcţiuniArată dataArată IOBArată COBArată Delta
+ Arată AvgDeltaArată baterie telefonArată Baterie RigArată rata bazalăArată stare buclă închisăArată glicemia
+ Arată săgeată pentru evoluție
+ Afişare în urmăÎntunecatEvidențiere rate bazale
+ Potrivire divider
+ Grafic Timp1 oră2 ore3 ore4 ore5 ore
+ Design de intrareImplicit
+ Drepta rapid
+ Stânga rapid
+ Distanță modernăGranularitate Delta (Steampunk)
+ Mic
+ Mediu
+ Mare
+ Auto
+ Numere Mari
+ Inel istoric
+ Inel istoric simplu
+ Animații
+ Asistent în meniu
+ Amorsare în meniu
+ Țintă unică
+ Procent asistent
+ Acţiuni pentru complicaţii
+ Unicode în complicațiiVersiune:ŢintăTemporară
+ AsistentBoluseCarbSetăriStare
+ Amorsare/Umplere
+ NimicImplicit
+ Meniu
+ durată
+ țintă
+ hipo
+ hiper
+ carbohidrați
+ procentajstart [min]
+ durată [h]
+ insulină
+ Presetare 1
+ Presetare 2
+ Presetare 3
+ Cantitate liberăCONFIRMARESTARE POMPĂSTARE BUCLĂ ÎNCHISĂ
+ timp
+ TDD ponderatbolusPompă
+ BuclăCPPTDDCarbohidrațiIOB
+ niciun statusmg/dlmmol/lgUU/h
+ hzs