diff --git a/app/build.gradle b/app/build.gradle
index c834c2ac04..1a3096c856 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -10,6 +10,7 @@ buildscript {
}
}
apply plugin: "com.android.application"
+apply plugin: 'com.google.gms.google-services'
apply plugin: "io.fabric"
apply plugin: "jacoco-android"
apply plugin: 'com.jakewharton.butterknife'
@@ -44,6 +45,22 @@ def generateGitBuild = { ->
return stringBuilder.toString()
}
+def generateGitRemote = { ->
+ StringBuilder stringBuilder = new StringBuilder();
+ try {
+ def stdout = new ByteArrayOutputStream()
+ exec {
+ commandLine 'git', 'remote', 'get-url', 'origin'
+ standardOutput = stdout
+ }
+ String commitObject = stdout.toString().trim()
+ stringBuilder.append(commitObject)
+ } catch (ignored) {
+ stringBuilder.append('NoGitSystemAvailable')
+ }
+ return stringBuilder.toString()
+}
+
def generateDate = { ->
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append((new Date()).format('yyyy.MM.dd-HH:mm'))
@@ -63,9 +80,10 @@ android {
targetSdkVersion 25
multiDexEnabled true
versionCode 1500
- version "2.2.1-dev"
+ version "2.2.3-dev"
buildConfigField "String", "VERSION", '"' + version + '"'
buildConfigField "String", "BUILDVERSION", '"' + generateGitBuild() + '-' + generateDate() + '"'
+ buildConfigField "String", "REMOTE", '"' + generateGitRemote()+ '"'
buildConfigField "String", "HEAD", '"' + generateGitBuild() + '"'
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
// if you change minSdkVersion to less than 11, you need to change executeTask for wear
@@ -168,12 +186,11 @@ dependencies {
wearApp project(':wear')
implementation fileTree(include: ['*.jar'], dir: 'libs')
+ implementation 'com.google.android.gms:play-services-wearable:16.0.1'
+ implementation 'com.google.firebase:firebase-core:16.0.8'
implementation("com.crashlytics.sdk.android:crashlytics:2.9.9@aar") {
transitive = true;
}
- implementation("com.crashlytics.sdk.android:answers:1.4.7@aar") {
- transitive = true;
- }
libs "MilosKozak:danars-support-lib:master@zip"
implementation "com.android.support:appcompat-v7:${supportLibraryVersion}"
@@ -193,11 +210,11 @@ dependencies {
}
implementation "org.apache.commons:commons-lang3:3.7"
implementation "org.slf4j:slf4j-api:1.7.21"
+ // Graphview cannot be upgraded
implementation "com.jjoe64:graphview:4.0.1"
implementation "com.joanzapata.iconify:android-iconify-fontawesome:2.1.1"
- implementation 'com.google.android.gms:play-services-wearable:10.2.1'
+ implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation(name: "android-edittext-validator-v1.3.4-mod", ext: "aar")
- implementation(name: "sightparser-release", ext: "aar")
implementation 'com.madgag.spongycastle:core:1.58.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
diff --git a/app/google-services.json b/app/google-services.json
new file mode 100644
index 0000000000..42db6f4289
--- /dev/null
+++ b/app/google-services.json
@@ -0,0 +1,107 @@
+{
+ "project_info": {
+ "project_number": "477603612366",
+ "firebase_url": "https://androidaps-c34f8.firebaseio.com",
+ "project_id": "androidaps-c34f8",
+ "storage_bucket": "androidaps-c34f8.appspot.com"
+ },
+ "client": [
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:477603612366:android:aef229914e3e5448",
+ "android_client_info": {
+ "package_name": "info.nightscout.aapspumpcontrol"
+ }
+ },
+ "oauth_client": [],
+ "api_key": [
+ {
+ "current_key": "AIzaSyDcZpDRMaGjdhihXp531cVYM6LkEL8KbgM"
+ }
+ ],
+ "services": {
+ "appinvite_service": {
+ "other_platform_oauth_client": [
+ {
+ "client_id": "477603612366-a925drvlvs7qn7gt73r585erbqto8c79.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ]
+ }
+ }
+ },
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:477603612366:android:efc956f55b281623",
+ "android_client_info": {
+ "package_name": "info.nightscout.androidaps"
+ }
+ },
+ "oauth_client": [],
+ "api_key": [
+ {
+ "current_key": "AIzaSyDcZpDRMaGjdhihXp531cVYM6LkEL8KbgM"
+ }
+ ],
+ "services": {
+ "appinvite_service": {
+ "other_platform_oauth_client": [
+ {
+ "client_id": "477603612366-a925drvlvs7qn7gt73r585erbqto8c79.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ]
+ }
+ }
+ },
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:477603612366:android:b38d6e7351f73cc0",
+ "android_client_info": {
+ "package_name": "info.nightscout.nsclient"
+ }
+ },
+ "oauth_client": [],
+ "api_key": [
+ {
+ "current_key": "AIzaSyDcZpDRMaGjdhihXp531cVYM6LkEL8KbgM"
+ }
+ ],
+ "services": {
+ "appinvite_service": {
+ "other_platform_oauth_client": [
+ {
+ "client_id": "477603612366-a925drvlvs7qn7gt73r585erbqto8c79.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ]
+ }
+ }
+ },
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:477603612366:android:2dc8cf3acd3332e7",
+ "android_client_info": {
+ "package_name": "info.nightscout.nsclient2"
+ }
+ },
+ "oauth_client": [],
+ "api_key": [
+ {
+ "current_key": "AIzaSyDcZpDRMaGjdhihXp531cVYM6LkEL8KbgM"
+ }
+ ],
+ "services": {
+ "appinvite_service": {
+ "other_platform_oauth_client": [
+ {
+ "client_id": "477603612366-a925drvlvs7qn7gt73r585erbqto8c79.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "configuration_version": "1"
+}
\ No newline at end of file
diff --git a/app/libs/sightparser-release.aar b/app/libs/sightparser-release.aar
deleted file mode 100644
index 1f0c16ee34..0000000000
Binary files a/app/libs/sightparser-release.aar and /dev/null differ
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index cf159c0ea9..eed60ff12e 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -39,6 +39,7 @@
+
@@ -47,10 +48,10 @@
@@ -73,30 +74,40 @@
+
+ android:name=".receivers.DataReceiver"
+ android:enabled="true"
+ android:exported="true">
-
-
-
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
+
+
+
+
+
+
+
+
@@ -179,57 +190,57 @@
+ android:pathPrefix="/nightscout_watch_data"
+ android:scheme="wear" />
+ android:pathPrefix="/nightscout_watch_data_resend"
+ android:scheme="wear" />
+ android:pathPrefix="/nightscout_watch_cancel_bolus"
+ android:scheme="wear" />
+ android:pathPrefix="/nightscout_watch_confirmactionstring"
+ android:scheme="wear" />
+ android:pathPrefix="/nightscout_watch_initiateactionstring"
+ android:scheme="wear" />
+ android:pathPrefix="/openwearsettings"
+ android:scheme="wear" />
+ android:pathPrefix="/sendstatustowear"
+ android:scheme="wear" />
+ android:pathPrefix="/sendpreferencestowear"
+ android:scheme="wear" />
+ android:pathPrefix="/nightscout_watch_basal"
+ android:scheme="wear" />
+ android:pathPrefix="/nightscout_watch_bolusprogress"
+ android:scheme="wear" />
+ android:pathPrefix="/nightscout_watch_actionconfirmationrequest"
+ android:scheme="wear" />
+ android:pathPrefix="/nightscout_watch_changeconfirmationrequest"
+ android:scheme="wear" />
+ android:pathPrefix="/nightscout_watch_cancelnotificationrequest"
+ android:scheme="wear" />
-
+
+ android:label="@string/insight_pairing"
+ android:theme="@style/AppTheme" />
+ android:label="@string/pairing_information"
+ android:theme="@style/AppTheme" />
diff --git a/app/src/main/java/info/nightscout/androidaps/MainActivity.java b/app/src/main/java/info/nightscout/androidaps/MainActivity.java
index ad4a28c1f3..f441a8b243 100644
--- a/app/src/main/java/info/nightscout/androidaps/MainActivity.java
+++ b/app/src/main/java/info/nightscout/androidaps/MainActivity.java
@@ -54,6 +54,7 @@ import info.nightscout.androidaps.plugins.general.nsclient.data.NSSettingsStatus
import info.nightscout.androidaps.setupwizard.SetupWizardActivity;
import info.nightscout.androidaps.tabs.TabPageAdapter;
import info.nightscout.androidaps.utils.AndroidPermission;
+import info.nightscout.androidaps.utils.FabricPrivacy;
import info.nightscout.androidaps.utils.LocaleHelper;
import info.nightscout.androidaps.utils.OKDialog;
import info.nightscout.androidaps.utils.PasswordProtection;
@@ -115,6 +116,7 @@ public class MainActivity extends AppCompatActivity {
}
});
VersionChecker.check();
+ FabricPrivacy.setUserStats();
}
private void checkPluginPreferences(ViewPager viewPager) {
@@ -170,7 +172,7 @@ public class MainActivity extends AppCompatActivity {
boolean keepScreenOn = SP.getBoolean(R.string.key_keep_screen_on, false);
final PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
if (keepScreenOn) {
- mWakeLock = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "AAPS");
+ mWakeLock = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "AndroidAPS:MainActivity_onEventPreferenceChange");
if (!mWakeLock.isHeld())
mWakeLock.acquire();
} else {
diff --git a/app/src/main/java/info/nightscout/androidaps/MainApp.java b/app/src/main/java/info/nightscout/androidaps/MainApp.java
index 36d9591532..8557a54843 100644
--- a/app/src/main/java/info/nightscout/androidaps/MainApp.java
+++ b/app/src/main/java/info/nightscout/androidaps/MainApp.java
@@ -9,7 +9,7 @@ import android.support.annotation.PluralsRes;
import android.support.v4.content.LocalBroadcastManager;
import com.crashlytics.android.Crashlytics;
-import com.crashlytics.android.answers.Answers;
+import com.google.firebase.analytics.FirebaseAnalytics;
import com.j256.ormlite.android.apptools.OpenHelperManager;
import com.squareup.otto.Bus;
import com.squareup.otto.LoggingBus;
@@ -98,6 +98,8 @@ public class MainApp extends Application {
private static MainApp sInstance;
public static Resources sResources;
+ private static FirebaseAnalytics mFirebaseAnalytics;
+
private static DatabaseHelper sDatabaseHelper = null;
private static ConstraintChecker sConstraintsChecker = null;
@@ -124,17 +126,18 @@ public class MainApp extends Application {
try {
if (FabricPrivacy.fabricEnabled()) {
Fabric.with(this, new Crashlytics());
- Fabric.with(this, new Answers());
- Crashlytics.setString("BUILDVERSION", BuildConfig.BUILDVERSION);
}
} catch (Exception e) {
log.error("Error with Fabric init! " + e);
}
+ mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);
+
JodaTimeAndroid.init(this);
log.info("Version: " + BuildConfig.VERSION_NAME);
log.info("BuildVersion: " + BuildConfig.BUILDVERSION);
+ log.info("Remote: " + BuildConfig.REMOTE);
String extFilesDir = LoggerUtils.getLogDirectory();
File engineeringModeSemaphore = new File(extFilesDir, "engineering_mode");
@@ -309,6 +312,10 @@ public class MainApp extends Application {
}
}
+ public static FirebaseAnalytics getFirebaseAnalytics() {
+ return mFirebaseAnalytics;
+ }
+
public static ConstraintChecker getConstraintChecker() {
return sConstraintsChecker;
}
diff --git a/app/src/main/java/info/nightscout/androidaps/data/GlucoseStatus.java b/app/src/main/java/info/nightscout/androidaps/data/GlucoseStatus.java
index d65bf6b99f..be3e981fb4 100644
--- a/app/src/main/java/info/nightscout/androidaps/data/GlucoseStatus.java
+++ b/app/src/main/java/info/nightscout/androidaps/data/GlucoseStatus.java
@@ -8,9 +8,8 @@ import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.List;
-import info.nightscout.androidaps.MainApp;
-import info.nightscout.androidaps.R;
import info.nightscout.androidaps.db.BgReading;
+import info.nightscout.androidaps.logging.L;
import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin;
import info.nightscout.androidaps.utils.DateUtil;
import info.nightscout.androidaps.utils.DecimalFormatter;
@@ -30,12 +29,11 @@ public class GlucoseStatus {
public long date = 0L;
- @Override
- public String toString() {
- return MainApp.gs(R.string.glucose) + " " + DecimalFormatter.to0Decimal(glucose) + " mg/dl\n" +
- MainApp.gs(R.string.delta) + " " + DecimalFormatter.to0Decimal(delta) + " mg/dl\n" +
- MainApp.gs(R.string.short_avgdelta) + " " + DecimalFormatter.to2Decimal(short_avgdelta) + " mg/dl\n" +
- MainApp.gs(R.string.long_avgdelta) + " " + DecimalFormatter.to2Decimal(long_avgdelta) + " mg/dl";
+ public String log() {
+ return "Glucose: " + DecimalFormatter.to0Decimal(glucose) + " mg/dl " +
+ "Delta: " + DecimalFormatter.to0Decimal(delta) + " mg/dl" +
+ "Short avg. delta: " + " " + DecimalFormatter.to2Decimal(short_avgdelta) + " mg/dl " +
+ "Long avg. delta: " + DecimalFormatter.to2Decimal(long_avgdelta) + " mg/dl";
}
public GlucoseStatus() {
@@ -64,17 +62,22 @@ public class GlucoseStatus {
List data = IobCobCalculatorPlugin.getPlugin().getBgReadings();
- if (data == null)
- return null;
-
- int sizeRecords = data.size();
- if (sizeRecords == 0) {
+ if (data == null) {
+ if (L.isEnabled(L.GLUCOSE))
+ log.debug("data=null");
return null;
}
- sizeRecords = Math.min(sizeRecords, 9);
+ int sizeRecords = data.size();
+ if (sizeRecords == 0) {
+ if (L.isEnabled(L.GLUCOSE))
+ log.debug("sizeRecords==0");
+ return null;
+ }
if (data.get(0).date < DateUtil.now() - 7 * 60 * 1000L && !allowOldData) {
+ if (L.isEnabled(L.GLUCOSE))
+ log.debug("olddata");
return null;
}
@@ -90,18 +93,24 @@ public class GlucoseStatus {
status.long_avgdelta = 0d;
status.avgdelta = 0d; // for OpenAPS MA
status.date = now_date;
+ if (L.isEnabled(L.GLUCOSE))
+ log.debug("sizeRecords==1");
return status.round();
}
- ArrayList last_deltas = new ArrayList();
- ArrayList short_deltas = new ArrayList();
- ArrayList long_deltas = new ArrayList();
+ ArrayList now_value_list = new ArrayList<>();
+ ArrayList last_deltas = new ArrayList<>();
+ ArrayList short_deltas = new ArrayList<>();
+ ArrayList long_deltas = new ArrayList<>();
+
+ // Use the latest sgv value in the now calculations
+ now_value_list.add(now.value);
for (int i = 1; i < sizeRecords; i++) {
if (data.get(i).value > 38) {
BgReading then = data.get(i);
long then_date = then.date;
- double avgdelta = 0;
+ double avgdelta;
long minutesago;
minutesago = Math.round((now_date - then_date) / (1000d * 60));
@@ -109,10 +118,14 @@ public class GlucoseStatus {
change = now.value - then.value;
avgdelta = change / minutesago * 5;
+ if (L.isEnabled(L.GLUCOSE))
+ log.debug(then.toString() + " minutesago=" + minutesago + " avgdelta=" + avgdelta);
+
// use the average of all data points in the last 2.5m for all further "now" calculations
if (0 < minutesago && minutesago < 2.5) {
- now.value = (now.value + then.value) / 2;
- now_date = (now_date + then_date) / 2;
+ // Keep and average all values within the last 2.5 minutes
+ now_value_list.add(then.value);
+ now.value = average(now_value_list);
// short_deltas are calculated from everything ~5-15 minutes ago
} else if (2.5 < minutesago && minutesago < 17.5) {
//console.error(minutesago, avgdelta);
@@ -124,6 +137,9 @@ public class GlucoseStatus {
// long_deltas are calculated from everything ~20-40 minutes ago
} else if (17.5 < minutesago && minutesago < 42.5) {
long_deltas.add(avgdelta);
+ } else {
+ // Do not process any more records after >= 42.5 minutes
+ break;
}
}
}
@@ -143,6 +159,8 @@ public class GlucoseStatus {
status.long_avgdelta = average(long_deltas);
status.avgdelta = status.short_avgdelta; // for OpenAPS MA
+ if (L.isEnabled(L.GLUCOSE))
+ log.debug(status.log());
return status.round();
}
diff --git a/app/src/main/java/info/nightscout/androidaps/db/DatabaseHelper.java b/app/src/main/java/info/nightscout/androidaps/db/DatabaseHelper.java
index 6600632869..a41939b326 100644
--- a/app/src/main/java/info/nightscout/androidaps/db/DatabaseHelper.java
+++ b/app/src/main/java/info/nightscout/androidaps/db/DatabaseHelper.java
@@ -35,7 +35,7 @@ import info.nightscout.androidaps.data.ProfileStore;
import info.nightscout.androidaps.events.EventCareportalEventChange;
import info.nightscout.androidaps.events.EventExtendedBolusChange;
import info.nightscout.androidaps.events.EventNewBG;
-import info.nightscout.androidaps.events.EventProfileSwitchChange;
+import info.nightscout.androidaps.events.EventProfileNeedsUpdate;
import info.nightscout.androidaps.events.EventRefreshOverview;
import info.nightscout.androidaps.events.EventReloadProfileSwitchData;
import info.nightscout.androidaps.events.EventReloadTempBasalData;
@@ -726,7 +726,7 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper {
String units = JsonHelper.safeGetString(trJson, "units", Constants.MGDL);
TempTarget tempTarget = new TempTarget()
.date(trJson.getLong("mills"))
- .duration(trJson.getInt("duration"))
+ .duration(JsonHelper.safeGetInt(trJson, "duration"))
.low(Profile.toMgdl(trJson.getDouble("targetBottom"), units))
.high(Profile.toMgdl(trJson.getDouble("targetTop"), units))
.reason(JsonHelper.safeGetString(trJson, "reason", ""))
@@ -1574,9 +1574,9 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper {
class PostRunnable implements Runnable {
public void run() {
if (L.isEnabled(L.DATABASE))
- log.debug("Firing EventProfileSwitchChange");
+ log.debug("Firing EventProfileNeedsUpdate");
MainApp.bus().post(new EventReloadProfileSwitchData());
- MainApp.bus().post(new EventProfileSwitchChange());
+ MainApp.bus().post(new EventProfileNeedsUpdate());
scheduledProfileSwitchEventPost = null;
}
}
diff --git a/app/src/main/java/info/nightscout/androidaps/events/EventProfileSwitchChange.java b/app/src/main/java/info/nightscout/androidaps/events/EventProfileNeedsUpdate.java
similarity index 62%
rename from app/src/main/java/info/nightscout/androidaps/events/EventProfileSwitchChange.java
rename to app/src/main/java/info/nightscout/androidaps/events/EventProfileNeedsUpdate.java
index 7bab9d4518..9e3f3b08c7 100644
--- a/app/src/main/java/info/nightscout/androidaps/events/EventProfileSwitchChange.java
+++ b/app/src/main/java/info/nightscout/androidaps/events/EventProfileNeedsUpdate.java
@@ -4,5 +4,5 @@ package info.nightscout.androidaps.events;
* Created by mike on 02.06.2017.
*/
-public class EventProfileSwitchChange extends Event {
+public class EventProfileNeedsUpdate extends Event {
}
diff --git a/app/src/main/java/info/nightscout/androidaps/logging/L.java b/app/src/main/java/info/nightscout/androidaps/logging/L.java
index e8dfff95e5..c97b418962 100644
--- a/app/src/main/java/info/nightscout/androidaps/logging/L.java
+++ b/app/src/main/java/info/nightscout/androidaps/logging/L.java
@@ -78,6 +78,7 @@ public class L {
public static final String CORE = "CORE";
public static final String AUTOSENS = "AUTOSENS";
public static final String EVENTS = "EVENTS";
+ public static final String GLUCOSE = "GLUCOSE";
public static final String BGSOURCE = "BGSOURCE";
public static final String OVERVIEW = "OVERVIEW";
public static final String NOTIFICATION = "NOTIFICATION";
@@ -103,6 +104,7 @@ public class L {
logElements.add(new LogElement(APS, true));
logElements.add(new LogElement(AUTOSENS, false));
logElements.add(new LogElement(BGSOURCE, true));
+ logElements.add(new LogElement(GLUCOSE, false));
logElements.add(new LogElement(CONFIGBUILDER, false));
logElements.add(new LogElement(CONSTRAINTS, true));
logElements.add(new LogElement(CORE, true));
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.java
index 0b11dd0ac3..951631eb0c 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopFragment.java
@@ -10,7 +10,6 @@ import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
-import com.crashlytics.android.answers.CustomEvent;
import com.squareup.otto.Subscribe;
import butterknife.BindView;
@@ -19,9 +18,9 @@ import butterknife.OnClick;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.interfaces.Constraint;
-import info.nightscout.androidaps.plugins.common.SubscriberFragment;
import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopSetLastRunGui;
import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopUpdateGui;
+import info.nightscout.androidaps.plugins.common.SubscriberFragment;
import info.nightscout.androidaps.utils.FabricPrivacy;
public class LoopFragment extends SubscriberFragment {
@@ -62,7 +61,6 @@ public class LoopFragment extends SubscriberFragment {
void onRunClick() {
lastRunView.setText(MainApp.gs(R.string.executing));
new Thread(() -> LoopPlugin.getPlugin().invoke("Loop button", true)).start();
- FabricPrivacy.getInstance().logCustom(new CustomEvent("Loop_Run"));
}
@Subscribe
@@ -75,7 +73,11 @@ public class LoopFragment extends SubscriberFragment {
clearGUI();
final Activity activity = getActivity();
if (activity != null)
- activity.runOnUiThread(() -> { synchronized (LoopFragment.this) { if (lastRunView != null) lastRunView.setText(ev.text); } });
+ activity.runOnUiThread(() -> {
+ synchronized (LoopFragment.this) {
+ if (lastRunView != null) lastRunView.setText(ev.text);
+ }
+ });
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.java
index 91bbccc515..92378a1d6b 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.java
@@ -13,7 +13,6 @@ import android.os.SystemClock;
import android.support.annotation.NonNull;
import android.support.v4.app.NotificationCompat;
-import com.crashlytics.android.answers.CustomEvent;
import com.squareup.otto.Subscribe;
import org.slf4j.Logger;
@@ -33,6 +32,7 @@ import info.nightscout.androidaps.db.CareportalEvent;
import info.nightscout.androidaps.db.DatabaseHelper;
import info.nightscout.androidaps.db.Source;
import info.nightscout.androidaps.db.TemporaryBasal;
+import info.nightscout.androidaps.events.EventAcceptOpenLoopChange;
import info.nightscout.androidaps.events.EventNewBG;
import info.nightscout.androidaps.events.EventTempTargetChange;
import info.nightscout.androidaps.interfaces.APSInterface;
@@ -44,18 +44,17 @@ import info.nightscout.androidaps.interfaces.PumpDescription;
import info.nightscout.androidaps.interfaces.PumpInterface;
import info.nightscout.androidaps.interfaces.TreatmentsInterface;
import info.nightscout.androidaps.logging.L;
-import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin;
-import info.nightscout.androidaps.plugins.constraints.objectives.ObjectivesPlugin;
-import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctions;
-import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventAutosensCalculationFinished;
import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopSetLastRunGui;
import info.nightscout.androidaps.plugins.aps.loop.events.EventLoopUpdateGui;
import info.nightscout.androidaps.plugins.aps.loop.events.EventNewOpenLoopNotification;
+import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin;
+import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctions;
+import info.nightscout.androidaps.plugins.constraints.objectives.ObjectivesPlugin;
import info.nightscout.androidaps.plugins.general.nsclient.NSUpload;
+import info.nightscout.androidaps.plugins.general.wear.ActionStringHandler;
+import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventAutosensCalculationFinished;
import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin;
import info.nightscout.androidaps.plugins.treatments.TreatmentsPlugin;
-import info.nightscout.androidaps.plugins.general.wear.ActionStringHandler;
-import info.nightscout.androidaps.events.EventAcceptOpenLoopChange;
import info.nightscout.androidaps.queue.Callback;
import info.nightscout.androidaps.queue.commands.Command;
import info.nightscout.androidaps.utils.FabricPrivacy;
@@ -179,11 +178,9 @@ public class LoopPlugin extends PluginBase {
@Subscribe
public void onStatusEvent(final EventTempTargetChange ev) {
new Thread(() -> invoke("EventTempTargetChange", true)).start();
- FabricPrivacy.getInstance().logCustom(new CustomEvent("TT_Loop_Run"));
}
-
public void suspendTo(long endTime) {
loopSuspendedTill = endTime;
isSuperBolus = false;
@@ -376,7 +373,7 @@ public class LoopPlugin extends PluginBase {
if (resultAfterConstraints.bolusRequested)
lastRun.smbSetByPump = waiting;
MainApp.bus().post(new EventLoopUpdateGui());
- FabricPrivacy.getInstance().logCustom(new CustomEvent("APSRequest"));
+ FabricPrivacy.getInstance().logCustom("APSRequest");
applyTBRRequest(resultAfterConstraints, profile, new Callback() {
@Override
public void run() {
@@ -395,7 +392,6 @@ public class LoopPlugin extends PluginBase {
SystemClock.sleep(1000);
LoopPlugin.getPlugin().invoke("tempBasalFallback", allowNotification, true);
}).start();
- FabricPrivacy.getInstance().logCustom(new CustomEvent("Loop_Run_TempBasalFallback"));
}
MainApp.bus().post(new EventLoopUpdateGui());
}
@@ -482,7 +478,7 @@ public class LoopPlugin extends PluginBase {
MainApp.bus().post(new EventAcceptOpenLoopChange());
}
});
- FabricPrivacy.getInstance().logCustom(new CustomEvent("AcceptTemp"));
+ FabricPrivacy.getInstance().logCustom("AcceptTemp");
}
/**
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAFragment.java
index f73a66bbfe..0aadf52cbd 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAFragment.java
@@ -8,7 +8,6 @@ import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
-import com.crashlytics.android.answers.CustomEvent;
import com.squareup.otto.Subscribe;
import org.json.JSONArray;
@@ -19,11 +18,10 @@ import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.logging.L;
-import info.nightscout.androidaps.plugins.common.SubscriberFragment;
import info.nightscout.androidaps.plugins.aps.openAPSMA.events.EventOpenAPSUpdateGui;
import info.nightscout.androidaps.plugins.aps.openAPSMA.events.EventOpenAPSUpdateResultGui;
+import info.nightscout.androidaps.plugins.common.SubscriberFragment;
import info.nightscout.androidaps.utils.DateUtil;
-import info.nightscout.androidaps.utils.FabricPrivacy;
import info.nightscout.androidaps.utils.JSONFormatter;
public class OpenAPSAMAFragment extends SubscriberFragment implements View.OnClickListener {
@@ -68,7 +66,6 @@ public class OpenAPSAMAFragment extends SubscriberFragment implements View.OnCli
switch (view.getId()) {
case R.id.openapsma_run:
OpenAPSAMAPlugin.getPlugin().invoke("OpenAPSAMA button", false);
- FabricPrivacy.getInstance().logCustom(new CustomEvent("OpenAPS_AMA_Run"));
break;
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSMA/OpenAPSMAFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSMA/OpenAPSMAFragment.java
index 257a4abcb2..5d632a44fc 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSMA/OpenAPSMAFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSMA/OpenAPSMAFragment.java
@@ -8,13 +8,12 @@ import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
-import com.crashlytics.android.answers.CustomEvent;
import com.squareup.otto.Subscribe;
import info.nightscout.androidaps.R;
-import info.nightscout.androidaps.plugins.common.SubscriberFragment;
import info.nightscout.androidaps.plugins.aps.openAPSMA.events.EventOpenAPSUpdateGui;
import info.nightscout.androidaps.plugins.aps.openAPSMA.events.EventOpenAPSUpdateResultGui;
+import info.nightscout.androidaps.plugins.common.SubscriberFragment;
import info.nightscout.androidaps.utils.DateUtil;
import info.nightscout.androidaps.utils.FabricPrivacy;
import info.nightscout.androidaps.utils.JSONFormatter;
@@ -61,7 +60,6 @@ public class OpenAPSMAFragment extends SubscriberFragment implements View.OnClic
switch (view.getId()) {
case R.id.openapsma_run:
OpenAPSMAPlugin.getPlugin().invoke("OpenAPSMA button", false);
- FabricPrivacy.getInstance().logCustom(new CustomEvent("OpenAPS_MA_Run"));
break;
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.java b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.java
index bfff43f9d1..edaddd62c9 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/DetermineBasalAdapterSMBJS.java
@@ -232,8 +232,13 @@ public class DetermineBasalAdapterSMBJS {
mProfile.put("max_daily_safety_multiplier", SP.getInt(R.string.key_openapsama_max_daily_safety_multiplier, 3));
mProfile.put("current_basal_safety_multiplier", SP.getDouble(R.string.key_openapsama_current_basal_safety_multiplier, 4d));
- mProfile.put("high_temptarget_raises_sensitivity", SP.getBoolean(R.string.key_high_temptarget_raises_sensitivity, SMBDefaults.high_temptarget_raises_sensitivity));
- mProfile.put("low_temptarget_lowers_sensitivity", SP.getBoolean(R.string.key_low_temptarget_lowers_sensitivity, SMBDefaults.low_temptarget_lowers_sensitivity));
+ // TODO AS-FIX
+ // mProfile.put("high_temptarget_raises_sensitivity", SP.getBoolean(R.string.key_high_temptarget_raises_sensitivity, SMBDefaults.high_temptarget_raises_sensitivity));
+ mProfile.put("high_temptarget_raises_sensitivity", false);
+ //mProfile.put("low_temptarget_lowers_sensitivity", SP.getBoolean(R.string.key_low_temptarget_lowers_sensitivity, SMBDefaults.low_temptarget_lowers_sensitivity));
+ mProfile.put("low_temptarget_lowers_sensitivity", false);
+
+
mProfile.put("sensitivity_raises_target", SMBDefaults.sensitivity_raises_target);
mProfile.put("resistance_lowers_target", SMBDefaults.resistance_lowers_target);
mProfile.put("adv_target_adjustments", SMBDefaults.adv_target_adjustments);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBFragment.java
index 87572e2ad6..18828e840e 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSSMB/OpenAPSSMBFragment.java
@@ -8,7 +8,6 @@ import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
-import com.crashlytics.android.answers.CustomEvent;
import com.squareup.otto.Subscribe;
import org.json.JSONArray;
@@ -22,11 +21,10 @@ import butterknife.OnClick;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.logging.L;
-import info.nightscout.androidaps.plugins.common.SubscriberFragment;
import info.nightscout.androidaps.plugins.aps.openAPSMA.events.EventOpenAPSUpdateGui;
import info.nightscout.androidaps.plugins.aps.openAPSMA.events.EventOpenAPSUpdateResultGui;
+import info.nightscout.androidaps.plugins.common.SubscriberFragment;
import info.nightscout.androidaps.utils.DateUtil;
-import info.nightscout.androidaps.utils.FabricPrivacy;
import info.nightscout.androidaps.utils.JSONFormatter;
public class OpenAPSSMBFragment extends SubscriberFragment {
@@ -69,7 +67,6 @@ public class OpenAPSSMBFragment extends SubscriberFragment {
@OnClick(R.id.openapsma_run)
public void onRunClick() {
OpenAPSSMBPlugin.getPlugin().invoke("OpenAPSSMB button", false);
- FabricPrivacy.getInstance().logCustom(new CustomEvent("OpenAPS_SMB_Run"));
}
@Subscribe
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.java
index b374c78413..47b5d49357 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.java
@@ -16,8 +16,6 @@ import android.widget.RadioButton;
import android.widget.ScrollView;
import android.widget.TextView;
-import com.crashlytics.android.answers.CustomEvent;
-
import java.util.ArrayList;
import java.util.List;
@@ -26,8 +24,8 @@ import butterknife.ButterKnife;
import butterknife.OnClick;
import butterknife.Unbinder;
import info.nightscout.androidaps.MainApp;
-import info.nightscout.androidaps.activities.PreferencesActivity;
import info.nightscout.androidaps.R;
+import info.nightscout.androidaps.activities.PreferencesActivity;
import info.nightscout.androidaps.events.EventConfigBuilderChange;
import info.nightscout.androidaps.events.EventRefreshGui;
import info.nightscout.androidaps.interfaces.APSInterface;
@@ -42,7 +40,6 @@ import info.nightscout.androidaps.interfaces.SensitivityInterface;
import info.nightscout.androidaps.plugins.common.SubscriberFragment;
import info.nightscout.androidaps.plugins.insulin.InsulinOrefRapidActingPlugin;
import info.nightscout.androidaps.plugins.profile.ns.NSProfilePlugin;
-
import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin;
import info.nightscout.androidaps.plugins.sensitivity.SensitivityOref0Plugin;
import info.nightscout.androidaps.utils.FabricPrivacy;
@@ -276,7 +273,6 @@ public class ConfigBuilderFragment extends SubscriberFragment {
MainApp.bus().post(new EventRefreshGui());
MainApp.bus().post(new EventConfigBuilderChange());
ConfigBuilderPlugin.getPlugin().logPluginStatus();
- FabricPrivacy.getInstance().logCustom(new CustomEvent("ConfigurationChange"));
}
public void cancel(){
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctions.java b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctions.java
index 6b9b353979..0360ba4a68 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctions.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ProfileFunctions.java
@@ -1,9 +1,10 @@
package info.nightscout.androidaps.plugins.configBuilder;
import android.content.Intent;
+import android.os.Bundle;
import android.support.annotation.Nullable;
-import com.crashlytics.android.answers.CustomEvent;
+import com.google.firebase.analytics.FirebaseAnalytics;
import com.squareup.otto.Subscribe;
import org.slf4j.Logger;
@@ -18,11 +19,11 @@ import info.nightscout.androidaps.data.ProfileStore;
import info.nightscout.androidaps.db.ProfileSwitch;
import info.nightscout.androidaps.db.Source;
import info.nightscout.androidaps.events.EventNewBasalProfile;
-import info.nightscout.androidaps.events.EventProfileSwitchChange;
+import info.nightscout.androidaps.events.EventProfileNeedsUpdate;
import info.nightscout.androidaps.interfaces.ProfileInterface;
import info.nightscout.androidaps.interfaces.TreatmentsInterface;
import info.nightscout.androidaps.logging.L;
-import info.nightscout.androidaps.plugins.general.overview.Dialogs.ErrorHelperActivity;
+import info.nightscout.androidaps.plugins.general.overview.dialogs.ErrorHelperActivity;
import info.nightscout.androidaps.plugins.treatments.TreatmentsPlugin;
import info.nightscout.androidaps.queue.Callback;
import info.nightscout.androidaps.utils.FabricPrivacy;
@@ -47,7 +48,7 @@ public class ProfileFunctions {
}
@Subscribe
- public void onProfileSwitch(EventProfileSwitchChange ignored) {
+ public void onProfileSwitch(EventProfileNeedsUpdate ignored) {
if (L.isEnabled(L.PROFILE))
log.debug("onProfileSwitch");
ConfigBuilderPlugin.getPlugin().getCommandQueue().setProfile(getProfile(), new Callback() {
@@ -61,7 +62,8 @@ public class ProfileFunctions {
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
MainApp.instance().startActivity(i);
}
- MainApp.bus().post(new EventNewBasalProfile());
+ if (result.enacted)
+ MainApp.bus().post(new EventNewBasalProfile());
}
});
}
@@ -129,12 +131,12 @@ public class ProfileFunctions {
}
}
if (activeTreatments.getProfileSwitchesFromHistory().size() > 0) {
- FabricPrivacy.getInstance().logCustom(new CustomEvent("CatchedError")
- .putCustomAttribute("buildversion", BuildConfig.BUILDVERSION)
- .putCustomAttribute("version", BuildConfig.VERSION)
- .putCustomAttribute("time", time)
- .putCustomAttribute("getProfileSwitchesFromHistory", activeTreatments.getProfileSwitchesFromHistory().toString())
- );
+ Bundle bundle = new Bundle();
+ bundle.putString(FirebaseAnalytics.Param.ITEM_ID, "CatchedError");
+ bundle.putString(FirebaseAnalytics.Param.ITEM_CATEGORY, BuildConfig.BUILDVERSION);
+ bundle.putString(FirebaseAnalytics.Param.START_DATE, String.valueOf(time));
+ bundle.putString(FirebaseAnalytics.Param.VALUE, activeTreatments.getProfileSwitchesFromHistory().toString());
+ FabricPrivacy.getInstance().logCustom(bundle);
}
log.error("getProfile at the end: returning null");
return null;
@@ -157,7 +159,6 @@ public class ProfileFunctions {
public static void doProfileSwitch(final ProfileStore profileStore, final String profileName, final int duration, final int percentage, final int timeshift) {
ProfileSwitch profileSwitch = prepareProfileSwitch(profileStore, profileName, duration, percentage, timeshift, System.currentTimeMillis());
TreatmentsPlugin.getPlugin().addToHistoryProfileSwitch(profileSwitch);
- FabricPrivacy.getInstance().logCustom(new CustomEvent("ProfileSwitch"));
}
public static void doProfileSwitch(final int duration, final int percentage, final int timeshift) {
@@ -174,7 +175,6 @@ public class ProfileFunctions {
profileSwitch.timeshift = timeshift;
profileSwitch.percentage = percentage;
TreatmentsPlugin.getPlugin().addToHistoryProfileSwitch(profileSwitch);
- FabricPrivacy.getInstance().logCustom(new CustomEvent("ProfileSwitch"));
} else {
log.error("No profile switch existing");
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.java
index 02ff6e6b5c..ff99978fed 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/ActionsFragment.java
@@ -12,7 +12,6 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
-import com.crashlytics.android.answers.CustomEvent;
import com.squareup.otto.Subscribe;
import java.util.ArrayList;
@@ -21,9 +20,9 @@ import java.util.List;
import java.util.Map;
import info.nightscout.androidaps.Config;
-import info.nightscout.androidaps.activities.HistoryBrowseActivity;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
+import info.nightscout.androidaps.activities.HistoryBrowseActivity;
import info.nightscout.androidaps.activities.TDDStatsActivity;
import info.nightscout.androidaps.db.ExtendedBolus;
import info.nightscout.androidaps.db.TemporaryBasal;
@@ -35,7 +34,6 @@ import info.nightscout.androidaps.interfaces.PumpInterface;
import info.nightscout.androidaps.plugins.common.SubscriberFragment;
import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin;
import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctions;
-import info.nightscout.androidaps.plugins.general.actions.ActionsPlugin;
import info.nightscout.androidaps.plugins.general.actions.defs.CustomAction;
import info.nightscout.androidaps.plugins.general.actions.dialogs.FillDialog;
import info.nightscout.androidaps.plugins.general.actions.dialogs.NewExtendedBolusDialog;
@@ -70,7 +68,7 @@ public class ActionsFragment extends SubscriberFragment implements View.OnClickL
SingleClickButton tddStats;
SingleClickButton history;
- private Map pumpCustomActions = new HashMap<>();
+ private Map pumpCustomActions = new HashMap<>();
private List pumpCustomButtons = new ArrayList<>();
public ActionsFragment() {
@@ -222,7 +220,7 @@ public class ActionsFragment extends SubscriberFragment implements View.OnClickL
View.OnClickListener pumpCustomActionsListener = v -> {
- SingleClickButton btn = (SingleClickButton)v;
+ SingleClickButton btn = (SingleClickButton) v;
CustomAction customAction = this.pumpCustomActions.get(btn.getText().toString());
@@ -243,7 +241,7 @@ public class ActionsFragment extends SubscriberFragment implements View.OnClickL
List customActions = activePump.getCustomActions();
- if (customActions != null && customActions.size()>0) {
+ if (customActions != null && customActions.size() > 0) {
LinearLayout ll = actionsFragmentView.findViewById(R.id.action_buttons_layout);
@@ -275,7 +273,7 @@ public class ActionsFragment extends SubscriberFragment implements View.OnClickL
private void removePumpCustomActions() {
- if (pumpCustomActions.size()==0)
+ if (pumpCustomActions.size() == 0)
return;
LinearLayout ll = actionsFragmentView.findViewById(R.id.action_buttons_layout);
@@ -314,13 +312,11 @@ public class ActionsFragment extends SubscriberFragment implements View.OnClickL
case R.id.actions_extendedbolus_cancel:
if (TreatmentsPlugin.getPlugin().isInHistoryExtendedBoluslInProgress()) {
ConfigBuilderPlugin.getPlugin().getCommandQueue().cancelExtended(null);
- FabricPrivacy.getInstance().logCustom(new CustomEvent("CancelExtended"));
}
break;
case R.id.actions_canceltempbasal:
if (TreatmentsPlugin.getPlugin().isTempBasalInProgress()) {
ConfigBuilderPlugin.getPlugin().getCommandQueue().cancelTempBasal(true, null);
- FabricPrivacy.getInstance().logCustom(new CustomEvent("CancelTemp"));
}
break;
case R.id.actions_settempbasal:
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/dialogs/FillDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/dialogs/FillDialog.java
index 45333040e1..94d548a444 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/dialogs/FillDialog.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/dialogs/FillDialog.java
@@ -19,7 +19,6 @@ import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.LinearLayout;
-import com.crashlytics.android.answers.CustomEvent;
import com.google.common.base.Joiner;
import org.slf4j.Logger;
@@ -35,11 +34,10 @@ import info.nightscout.androidaps.db.CareportalEvent;
import info.nightscout.androidaps.db.Source;
import info.nightscout.androidaps.interfaces.Constraint;
import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin;
-import info.nightscout.androidaps.plugins.general.overview.Dialogs.ErrorHelperActivity;
+import info.nightscout.androidaps.plugins.general.nsclient.NSUpload;
+import info.nightscout.androidaps.plugins.general.overview.dialogs.ErrorHelperActivity;
import info.nightscout.androidaps.queue.Callback;
import info.nightscout.androidaps.utils.DecimalFormatter;
-import info.nightscout.androidaps.utils.FabricPrivacy;
-import info.nightscout.androidaps.plugins.general.nsclient.NSUpload;
import info.nightscout.androidaps.utils.NumberPicker;
import info.nightscout.androidaps.utils.SP;
import info.nightscout.androidaps.utils.SafeParse;
@@ -190,7 +188,7 @@ public class FillDialog extends DialogFragment implements OnClickListener {
}
if (pumpSiteChangeCheckbox.isChecked())
- confirmMessage.add("" + "" + MainApp.gs(R.string.record_pump_site_change) + "");
+ confirmMessage.add("" + "" + MainApp.gs(R.string.record_pump_site_change) + "");
if (insulinCartridgeChangeCheckbox.isChecked())
confirmMessage.add("" + "" + MainApp.gs(R.string.record_insulin_cartridge_change) + "");
@@ -236,7 +234,6 @@ public class FillDialog extends DialogFragment implements OnClickListener {
}
}
});
- FabricPrivacy.getInstance().logCustom(new CustomEvent("Fill"));
}
if (pumpSiteChangeCheckbox.isChecked())
NSUpload.uploadEvent(CareportalEvent.SITECHANGE, now(), notes);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/dialogs/NewExtendedBolusDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/dialogs/NewExtendedBolusDialog.java
index 3ba1ff3177..579e9e2f06 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/dialogs/NewExtendedBolusDialog.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/dialogs/NewExtendedBolusDialog.java
@@ -10,8 +10,6 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import com.crashlytics.android.answers.CustomEvent;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -21,9 +19,8 @@ import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.interfaces.Constraint;
import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin;
-import info.nightscout.androidaps.plugins.general.overview.Dialogs.ErrorHelperActivity;
+import info.nightscout.androidaps.plugins.general.overview.dialogs.ErrorHelperActivity;
import info.nightscout.androidaps.queue.Callback;
-import info.nightscout.androidaps.utils.FabricPrivacy;
import info.nightscout.androidaps.utils.NumberPicker;
import info.nightscout.androidaps.utils.SafeParse;
@@ -99,7 +96,6 @@ public class NewExtendedBolusDialog extends DialogFragment implements View.OnCli
}
}
});
- FabricPrivacy.getInstance().logCustom(new CustomEvent("ExtendedBolus"));
}
});
builder.setNegativeButton(MainApp.gs(R.string.cancel), null);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/dialogs/NewTempBasalDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/dialogs/NewTempBasalDialog.java
index ae8ca782d1..80969b51b0 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/dialogs/NewTempBasalDialog.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/actions/dialogs/NewTempBasalDialog.java
@@ -12,8 +12,6 @@ import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;
-import com.crashlytics.android.answers.CustomEvent;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -26,9 +24,8 @@ import info.nightscout.androidaps.interfaces.Constraint;
import info.nightscout.androidaps.interfaces.PumpDescription;
import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin;
import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctions;
-import info.nightscout.androidaps.plugins.general.overview.Dialogs.ErrorHelperActivity;
+import info.nightscout.androidaps.plugins.general.overview.dialogs.ErrorHelperActivity;
import info.nightscout.androidaps.queue.Callback;
-import info.nightscout.androidaps.utils.FabricPrivacy;
import info.nightscout.androidaps.utils.NumberPicker;
import info.nightscout.androidaps.utils.SafeParse;
@@ -167,7 +164,6 @@ public class NewTempBasalDialog extends DialogFragment implements View.OnClickLi
} else {
ConfigBuilderPlugin.getPlugin().getCommandQueue().tempBasalAbsolute(finalBasal, finalDurationInMinutes, true, profile, callback);
}
- FabricPrivacy.getInstance().logCustom(new CustomEvent("TempBasal"));
}
});
builder.setNegativeButton(MainApp.gs(R.string.cancel), null);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/careportal/Dialogs/NewNSTreatmentDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/general/careportal/Dialogs/NewNSTreatmentDialog.java
index e4eccd18d9..e94cc658ca 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/careportal/Dialogs/NewNSTreatmentDialog.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/careportal/Dialogs/NewNSTreatmentDialog.java
@@ -20,7 +20,6 @@ import android.widget.RadioButton;
import android.widget.Spinner;
import android.widget.TextView;
-import com.crashlytics.android.answers.CustomEvent;
import com.google.common.collect.Lists;
import com.wdullaer.materialdatetimepicker.date.DatePickerDialog;
import com.wdullaer.materialdatetimepicker.time.RadialPickerLayout;
@@ -48,14 +47,13 @@ import info.nightscout.androidaps.db.CareportalEvent;
import info.nightscout.androidaps.db.ProfileSwitch;
import info.nightscout.androidaps.db.Source;
import info.nightscout.androidaps.db.TempTarget;
-import info.nightscout.androidaps.plugins.general.careportal.OptionsToShow;
import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin;
import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctions;
+import info.nightscout.androidaps.plugins.general.careportal.OptionsToShow;
import info.nightscout.androidaps.plugins.general.nsclient.NSUpload;
import info.nightscout.androidaps.plugins.treatments.TreatmentsPlugin;
import info.nightscout.androidaps.utils.DateUtil;
import info.nightscout.androidaps.utils.DefaultValueHelper;
-import info.nightscout.androidaps.utils.FabricPrivacy;
import info.nightscout.androidaps.utils.HardLimits;
import info.nightscout.androidaps.utils.JsonHelper;
import info.nightscout.androidaps.utils.NumberPicker;
@@ -742,7 +740,6 @@ public class NewNSTreatmentDialog extends DialogFragment implements View.OnClick
tempTarget.low(0).high(0);
}
TreatmentsPlugin.getPlugin().addToHistoryTempTarget(tempTarget);
- FabricPrivacy.getInstance().logCustom(new CustomEvent("TempTarget"));
}
} else {
if (JsonHelper.safeGetString(data, "eventType").equals(CareportalEvent.PROFILESWITCH)) {
@@ -758,7 +755,6 @@ public class NewNSTreatmentDialog extends DialogFragment implements View.OnClick
} else {
NSUpload.uploadCareportalEntryToNS(data);
}
- FabricPrivacy.getInstance().logCustom(new CustomEvent("NSTreatment"));
}
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.java
index bd5e67345d..35bd9f9d06 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/MaintenancePlugin.java
@@ -222,6 +222,7 @@ public class MaintenancePlugin extends PluginBase {
builder.append("NSCLIENT" + System.lineSeparator());
builder.append("Build: " + BuildConfig.BUILDVERSION + System.lineSeparator());
+ builder.append("Remote: " + BuildConfig.REMOTE + System.lineSeparator());
builder.append("Flavor: " + BuildConfig.FLAVOR + BuildConfig.BUILD_TYPE + System.lineSeparator());
builder.append(MainApp.gs(R.string.configbuilder_nightscoutversion_label) + " " + NSSettingsStatus.getInstance().nightscoutVersionName + System.lineSeparator());
if (MainApp.engineeringMode)
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientFragment.java
index dc384a7378..50674c5a94 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/NSClientFragment.java
@@ -17,7 +17,6 @@ import android.widget.CompoundButton;
import android.widget.ScrollView;
import android.widget.TextView;
-import com.crashlytics.android.answers.CustomEvent;
import com.squareup.otto.Subscribe;
import info.nightscout.androidaps.MainApp;
@@ -91,11 +90,11 @@ public class NSClientFragment extends SubscriberFragment implements View.OnClick
switch (view.getId()) {
case R.id.nsclientinternal_restart:
MainApp.bus().post(new EventNSClientRestart());
- FabricPrivacy.getInstance().logCustom(new CustomEvent("NSClientRestart"));
+ FabricPrivacy.getInstance().logCustom("NSClientRestart");
break;
case R.id.nsclientinternal_delivernow:
NSClientPlugin.getPlugin().resend("GUI");
- FabricPrivacy.getInstance().logCustom(new CustomEvent("NSClientDeliverNow"));
+ FabricPrivacy.getInstance().logCustom("NSClientDeliverNow");
break;
case R.id.nsclientinternal_clearlog:
NSClientPlugin.getPlugin().clearLog();
@@ -110,7 +109,7 @@ public class NSClientFragment extends SubscriberFragment implements View.OnClick
public void onClick(DialogInterface dialog, int id) {
UploadQueue.clearQueue();
updateGUI();
- FabricPrivacy.getInstance().logCustom(new CustomEvent("NSClientClearQueue"));
+ FabricPrivacy.getInstance().logCustom("NSClientClearQueue");
}
});
builder.setNegativeButton(MainApp.gs(R.string.cancel), null);
@@ -118,7 +117,6 @@ public class NSClientFragment extends SubscriberFragment implements View.OnClick
break;
case R.id.nsclientinternal_showqueue:
MainApp.bus().post(new EventNSClientNewLog("QUEUE", NSClientPlugin.getPlugin().queue().textList()));
- FabricPrivacy.getInstance().logCustom(new CustomEvent("NSClientShowQueue"));
break;
}
}
@@ -129,7 +127,7 @@ public class NSClientFragment extends SubscriberFragment implements View.OnClick
case R.id.nsclientinternal_paused:
NSClientPlugin.getPlugin().pause(isChecked);
updateGUI();
- FabricPrivacy.getInstance().logCustom(new CustomEvent("NSClientPause"));
+ FabricPrivacy.getInstance().logCustom("NSClientPause");
break;
case R.id.nsclientinternal_autoscroll:
SP.putBoolean(R.string.key_nsclientinternal_autoscroll, isChecked);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/services/NSClientService.java b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/services/NSClientService.java
index 359c224158..c14a3382b3 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/services/NSClientService.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/services/NSClientService.java
@@ -120,7 +120,7 @@ public class NSClientService extends Service {
}
PowerManager powerManager = (PowerManager) MainApp.instance().getApplicationContext().getSystemService(Context.POWER_SERVICE);
- mWakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "NSClientService");
+ mWakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "AndroidAPS:NSClientService");
initialize();
}
@@ -499,7 +499,7 @@ public class NSClientService extends Service {
public void run() {
PowerManager powerManager = (PowerManager) MainApp.instance().getApplicationContext().getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
- "onDataUpdate");
+ "AndroidAPS:NSClientService_onDataUpdate");
wakeLock.acquire();
try {
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.java
index 59d3e50728..c4d8655ca8 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/OverviewFragment.java
@@ -34,7 +34,6 @@ import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.TextView;
-import com.crashlytics.android.answers.CustomEvent;
import com.jjoe64.graphview.GraphView;
import com.squareup.otto.Subscribe;
@@ -46,6 +45,7 @@ import org.slf4j.LoggerFactory;
import java.text.DecimalFormat;
import java.util.Calendar;
import java.util.Date;
+import java.util.Locale;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledFuture;
@@ -72,7 +72,7 @@ import info.nightscout.androidaps.events.EventCareportalEventChange;
import info.nightscout.androidaps.events.EventExtendedBolusChange;
import info.nightscout.androidaps.events.EventInitializationChanged;
import info.nightscout.androidaps.events.EventPreferenceChange;
-import info.nightscout.androidaps.events.EventProfileSwitchChange;
+import info.nightscout.androidaps.events.EventProfileNeedsUpdate;
import info.nightscout.androidaps.events.EventPumpStatusChanged;
import info.nightscout.androidaps.events.EventRefreshOverview;
import info.nightscout.androidaps.events.EventTempBasalChange;
@@ -83,44 +83,43 @@ import info.nightscout.androidaps.interfaces.PluginType;
import info.nightscout.androidaps.interfaces.PumpDescription;
import info.nightscout.androidaps.interfaces.PumpInterface;
import info.nightscout.androidaps.logging.L;
+import info.nightscout.androidaps.plugins.aps.loop.APSResult;
+import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin;
+import info.nightscout.androidaps.plugins.aps.loop.events.EventNewOpenLoopNotification;
+import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin;
+import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctions;
import info.nightscout.androidaps.plugins.general.careportal.CareportalFragment;
import info.nightscout.androidaps.plugins.general.careportal.Dialogs.NewNSTreatmentDialog;
import info.nightscout.androidaps.plugins.general.careportal.OptionsToShow;
-import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin;
-import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctions;
+import info.nightscout.androidaps.plugins.general.nsclient.NSUpload;
+import info.nightscout.androidaps.plugins.general.nsclient.data.NSDeviceStatus;
+import info.nightscout.androidaps.plugins.general.nsclient.data.NSSettingsStatus;
+import info.nightscout.androidaps.plugins.general.overview.dialogs.CalibrationDialog;
+import info.nightscout.androidaps.plugins.general.overview.dialogs.ErrorHelperActivity;
+import info.nightscout.androidaps.plugins.general.overview.dialogs.NewCarbsDialog;
+import info.nightscout.androidaps.plugins.general.overview.dialogs.NewInsulinDialog;
+import info.nightscout.androidaps.plugins.general.overview.dialogs.NewTreatmentDialog;
+import info.nightscout.androidaps.plugins.general.overview.dialogs.WizardDialog;
+import info.nightscout.androidaps.plugins.general.overview.activities.QuickWizardListActivity;
+import info.nightscout.androidaps.plugins.general.overview.graphData.GraphData;
+import info.nightscout.androidaps.plugins.general.overview.notifications.NotificationRecyclerViewAdapter;
+import info.nightscout.androidaps.plugins.general.overview.notifications.NotificationStore;
+import info.nightscout.androidaps.plugins.general.wear.ActionStringHandler;
import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensData;
import info.nightscout.androidaps.plugins.iob.iobCobCalculator.CobInfo;
import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin;
import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventAutosensCalculationFinished;
import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress;
-import info.nightscout.androidaps.plugins.aps.loop.APSResult;
-import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin;
-import info.nightscout.androidaps.plugins.aps.loop.events.EventNewOpenLoopNotification;
-import info.nightscout.androidaps.plugins.general.nsclient.NSUpload;
-import info.nightscout.androidaps.plugins.general.nsclient.data.NSDeviceStatus;
-import info.nightscout.androidaps.plugins.general.nsclient.data.NSSettingsStatus;
-import info.nightscout.androidaps.plugins.general.overview.Dialogs.CalibrationDialog;
-import info.nightscout.androidaps.plugins.general.overview.Dialogs.ErrorHelperActivity;
-import info.nightscout.androidaps.plugins.general.overview.Dialogs.NewCarbsDialog;
-import info.nightscout.androidaps.plugins.general.overview.Dialogs.NewInsulinDialog;
-import info.nightscout.androidaps.plugins.general.overview.Dialogs.NewTreatmentDialog;
-import info.nightscout.androidaps.plugins.general.overview.Dialogs.WizardDialog;
-import info.nightscout.androidaps.plugins.general.overview.activities.QuickWizardListActivity;
-import info.nightscout.androidaps.plugins.general.overview.graphData.GraphData;
-import info.nightscout.androidaps.plugins.general.overview.notifications.NotificationRecyclerViewAdapter;
-import info.nightscout.androidaps.plugins.general.overview.notifications.NotificationStore;
import info.nightscout.androidaps.plugins.source.SourceDexcomG5Plugin;
import info.nightscout.androidaps.plugins.source.SourceDexcomG6Plugin;
import info.nightscout.androidaps.plugins.source.SourceXdripPlugin;
import info.nightscout.androidaps.plugins.treatments.TreatmentsPlugin;
import info.nightscout.androidaps.plugins.treatments.fragments.ProfileViewerDialog;
-import info.nightscout.androidaps.plugins.general.wear.ActionStringHandler;
import info.nightscout.androidaps.queue.Callback;
import info.nightscout.androidaps.utils.BolusWizard;
import info.nightscout.androidaps.utils.DateUtil;
import info.nightscout.androidaps.utils.DecimalFormatter;
import info.nightscout.androidaps.utils.DefaultValueHelper;
-import info.nightscout.androidaps.utils.FabricPrivacy;
import info.nightscout.androidaps.utils.OKDialog;
import info.nightscout.androidaps.utils.Profiler;
import info.nightscout.androidaps.utils.SP;
@@ -268,15 +267,15 @@ public class OverviewFragment extends Fragment implements View.OnClickListener,
sage = (TextView) view.findViewById(R.id.careportal_sensorage);
pbage = (TextView) view.findViewById(R.id.careportal_pbage);
- iageView = (TextView) view.findViewById(R.id.overview_insulinage);
- cageView = (TextView) view.findViewById(R.id.overview_canulaage);
- reservoirView = (TextView) view.findViewById(R.id.overview_reservoirlevel);
- sageView = (TextView) view.findViewById(R.id.overview_sensorage);
- batteryView = (TextView) view.findViewById(R.id.overview_batterylevel);
- statuslightsLayout = (LinearLayout) view.findViewById(R.id.overview_statuslights);
+ iageView = (TextView) view.findViewById(R.id.overview_insulinage);
+ cageView = (TextView) view.findViewById(R.id.overview_canulaage);
+ reservoirView = (TextView) view.findViewById(R.id.overview_reservoirlevel);
+ sageView = (TextView) view.findViewById(R.id.overview_sensorage);
+ batteryView = (TextView) view.findViewById(R.id.overview_batterylevel);
+ statuslightsLayout = (LinearLayout) view.findViewById(R.id.overview_statuslights);
- bgGraph = (GraphView) view.findViewById(R.id.overview_bggraph);
- iobGraph = (GraphView) view.findViewById(R.id.overview_iobgraph);
+ bgGraph = (GraphView) view.findViewById(R.id.overview_bggraph);
+ iobGraph = (GraphView) view.findViewById(R.id.overview_iobgraph);
treatmentButton = (SingleClickButton) view.findViewById(R.id.overview_treatmentbutton);
treatmentButton.setOnClickListener(this);
@@ -475,7 +474,7 @@ public class OverviewFragment extends Fragment implements View.OnClickListener,
menu.add(MainApp.gs(R.string.suspendloopfor2h));
menu.add(MainApp.gs(R.string.suspendloopfor3h));
menu.add(MainApp.gs(R.string.suspendloopfor10h));
- } else {
+ } else {
if (!loopPlugin.isDisconnected()) {
menu.add(MainApp.gs(R.string.resume));
}
@@ -488,7 +487,7 @@ public class OverviewFragment extends Fragment implements View.OnClickListener,
if (!loopPlugin.isDisconnected()) {
showSuspendtPump(menu, pumpDescription);
- } else {
+ } else {
menu.add(MainApp.gs(R.string.reconnect));
}
@@ -892,7 +891,6 @@ public class OverviewFragment extends Fragment implements View.OnClickListener,
} else {
TreatmentsPlugin.getPlugin().addToHistoryTreatment(detailedBolusInfo, false);
}
- FabricPrivacy.getInstance().logCustom(new CustomEvent("QuickWizard"));
}
}
});
@@ -984,8 +982,8 @@ public class OverviewFragment extends Fragment implements View.OnClickListener,
}
@Subscribe
- public void onStatusEvent(final EventProfileSwitchChange ev) {
- scheduleUpdateGUI("EventProfileSwitchChange");
+ public void onStatusEvent(final EventProfileNeedsUpdate ev) {
+ scheduleUpdateGUI("EventProfileNeedsUpdate");
}
@Subscribe
@@ -1461,7 +1459,7 @@ public class OverviewFragment extends Fragment implements View.OnClickListener,
if (sensitivityView != null) {
AutosensData autosensData = IobCobCalculatorPlugin.getPlugin().getLastAutosensData("Overview");
if (autosensData != null)
- sensitivityView.setText(String.format("%.0f%%", autosensData.autosensResult.ratio * 100));
+ sensitivityView.setText(String.format(Locale.ENGLISH, "%.0f%%", autosensData.autosensResult.ratio * 100));
else
sensitivityView.setText("");
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/activities/QuickWizardListActivity.java b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/activities/QuickWizardListActivity.java
index 0bea854c19..d7eb9c86dd 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/activities/QuickWizardListActivity.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/activities/QuickWizardListActivity.java
@@ -18,7 +18,7 @@ import com.squareup.otto.Subscribe;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.data.QuickWizard;
-import info.nightscout.androidaps.plugins.general.overview.Dialogs.EditQuickWizardDialog;
+import info.nightscout.androidaps.plugins.general.overview.dialogs.EditQuickWizardDialog;
import info.nightscout.androidaps.plugins.general.overview.OverviewPlugin;
import info.nightscout.androidaps.plugins.general.overview.events.EventQuickWizardChange;
import info.nightscout.androidaps.utils.DateUtil;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/Dialogs/BolusProgressDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/BolusProgressDialog.java
similarity index 99%
rename from app/src/main/java/info/nightscout/androidaps/plugins/general/overview/Dialogs/BolusProgressDialog.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/BolusProgressDialog.java
index 6cb5a1bc82..4189fcdcdb 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/Dialogs/BolusProgressDialog.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/BolusProgressDialog.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.general.overview.Dialogs;
+package info.nightscout.androidaps.plugins.general.overview.dialogs;
import android.app.Activity;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/Dialogs/BolusProgressHelperActivity.java b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/BolusProgressHelperActivity.java
similarity index 92%
rename from app/src/main/java/info/nightscout/androidaps/plugins/general/overview/Dialogs/BolusProgressHelperActivity.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/BolusProgressHelperActivity.java
index b0bc7e96f5..fd1de6ce8c 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/Dialogs/BolusProgressHelperActivity.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/BolusProgressHelperActivity.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.general.overview.Dialogs;
+package info.nightscout.androidaps.plugins.general.overview.dialogs;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/Dialogs/CalibrationDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/CalibrationDialog.java
similarity index 92%
rename from app/src/main/java/info/nightscout/androidaps/plugins/general/overview/Dialogs/CalibrationDialog.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/CalibrationDialog.java
index b950414237..53c571aad7 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/Dialogs/CalibrationDialog.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/CalibrationDialog.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.general.overview.Dialogs;
+package info.nightscout.androidaps.plugins.general.overview.dialogs;
import android.content.Context;
@@ -11,8 +11,6 @@ import android.view.Window;
import android.view.WindowManager;
import android.widget.TextView;
-import com.crashlytics.android.answers.CustomEvent;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -23,7 +21,6 @@ import info.nightscout.androidaps.R;
import info.nightscout.androidaps.data.GlucoseStatus;
import info.nightscout.androidaps.data.Profile;
import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctions;
-import info.nightscout.androidaps.utils.FabricPrivacy;
import info.nightscout.androidaps.utils.NumberPicker;
import info.nightscout.androidaps.utils.SafeParse;
import info.nightscout.androidaps.utils.XdripCalibrations;
@@ -88,7 +85,6 @@ public class CalibrationDialog extends DialogFragment implements View.OnClickLis
final Double bg = SafeParse.stringToDouble(bgNumber.getText());
XdripCalibrations.confirmAndSendCalibration(bg, context);
dismiss();
- FabricPrivacy.getInstance().logCustom(new CustomEvent("Calibration"));
break;
case R.id.cancel:
dismiss();
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/Dialogs/EditQuickWizardDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/EditQuickWizardDialog.java
similarity index 99%
rename from app/src/main/java/info/nightscout/androidaps/plugins/general/overview/Dialogs/EditQuickWizardDialog.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/EditQuickWizardDialog.java
index 053337e356..9cd1277961 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/Dialogs/EditQuickWizardDialog.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/EditQuickWizardDialog.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.general.overview.Dialogs;
+package info.nightscout.androidaps.plugins.general.overview.dialogs;
import android.os.Bundle;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/Dialogs/ErrorDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/ErrorDialog.java
similarity index 98%
rename from app/src/main/java/info/nightscout/androidaps/plugins/general/overview/Dialogs/ErrorDialog.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/ErrorDialog.java
index 549653f400..209a585384 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/Dialogs/ErrorDialog.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/ErrorDialog.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.general.overview.Dialogs;
+package info.nightscout.androidaps.plugins.general.overview.dialogs;
import android.content.Intent;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/Dialogs/ErrorHelperActivity.java b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/ErrorHelperActivity.java
similarity index 94%
rename from app/src/main/java/info/nightscout/androidaps/plugins/general/overview/Dialogs/ErrorHelperActivity.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/ErrorHelperActivity.java
index 1107cf1a9f..667cadf2b1 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/Dialogs/ErrorHelperActivity.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/ErrorHelperActivity.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.general.overview.Dialogs;
+package info.nightscout.androidaps.plugins.general.overview.dialogs;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/Dialogs/NewCarbsDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/NewCarbsDialog.java
similarity index 99%
rename from app/src/main/java/info/nightscout/androidaps/plugins/general/overview/Dialogs/NewCarbsDialog.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/NewCarbsDialog.java
index 44d13fa570..789ced1df3 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/Dialogs/NewCarbsDialog.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/NewCarbsDialog.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.general.overview.Dialogs;
+package info.nightscout.androidaps.plugins.general.overview.dialogs;
import android.os.Bundle;
import android.os.HandlerThread;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/Dialogs/NewInsulinDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/NewInsulinDialog.java
similarity index 96%
rename from app/src/main/java/info/nightscout/androidaps/plugins/general/overview/Dialogs/NewInsulinDialog.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/NewInsulinDialog.java
index f326805ba2..27e2e33ba7 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/Dialogs/NewInsulinDialog.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/NewInsulinDialog.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.general.overview.Dialogs;
+package info.nightscout.androidaps.plugins.general.overview.dialogs;
import android.content.Context;
import android.content.Intent;
@@ -20,7 +20,6 @@ import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.LinearLayout;
-import com.crashlytics.android.answers.CustomEvent;
import com.google.common.base.Joiner;
import org.slf4j.Logger;
@@ -46,7 +45,6 @@ import info.nightscout.androidaps.plugins.treatments.TreatmentsPlugin;
import info.nightscout.androidaps.queue.Callback;
import info.nightscout.androidaps.utils.DateUtil;
import info.nightscout.androidaps.utils.DecimalFormatter;
-import info.nightscout.androidaps.utils.FabricPrivacy;
import info.nightscout.androidaps.utils.NumberPicker;
import info.nightscout.androidaps.utils.SP;
import info.nightscout.androidaps.utils.SafeParse;
@@ -170,8 +168,8 @@ public class NewInsulinDialog extends DialogFragment implements OnClickListener
insulinDialogState.putBoolean("recordOnlyCheckbox", recordOnlyCheckbox.isChecked());
insulinDialogState.putDouble("editTime", editTime.getValue());
insulinDialogState.putDouble("editInsulin", editInsulin.getValue());
- insulinDialogState.putString("notesEdit",notesEdit.getText().toString());
- log.debug("Instance state saved:"+insulinDialogState.toString());
+ insulinDialogState.putString("notesEdit", notesEdit.getText().toString());
+ log.debug("Instance state saved:" + insulinDialogState.toString());
super.onSaveInstanceState(insulinDialogState);
}
@@ -227,7 +225,7 @@ public class NewInsulinDialog extends DialogFragment implements OnClickListener
}
}
- if (Math.abs(insulinAfterConstraints - insulin) > pump.getPumpDescription().pumpType.determineCorrectBolusSize(insulinAfterConstraints))
+ if (Math.abs(insulinAfterConstraints - insulin) > pump.getPumpDescription().pumpType.determineCorrectBolusSize(insulinAfterConstraints))
actions.add("" + MainApp.gs(R.string.bolusconstraintapplied) + "");
int eatingSoonTTDuration = SP.getInt(R.string.key_eatingsoon_duration, Constants.defaultEatingSoonTTDuration);
@@ -306,7 +304,6 @@ public class NewInsulinDialog extends DialogFragment implements OnClickListener
}
}
});
- FabricPrivacy.getInstance().logCustom(new CustomEvent("Bolus"));
}
}
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/Dialogs/NewTreatmentDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/NewTreatmentDialog.java
similarity index 97%
rename from app/src/main/java/info/nightscout/androidaps/plugins/general/overview/Dialogs/NewTreatmentDialog.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/NewTreatmentDialog.java
index b5e7b1dd74..837d206fb3 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/Dialogs/NewTreatmentDialog.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/NewTreatmentDialog.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.general.overview.Dialogs;
+package info.nightscout.androidaps.plugins.general.overview.dialogs;
import android.content.Context;
import android.content.DialogInterface;
@@ -17,8 +17,6 @@ import android.view.Window;
import android.view.WindowManager;
import android.widget.CheckBox;
-import com.crashlytics.android.answers.CustomEvent;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -36,7 +34,6 @@ import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin;
import info.nightscout.androidaps.plugins.treatments.TreatmentsPlugin;
import info.nightscout.androidaps.queue.Callback;
import info.nightscout.androidaps.utils.DecimalFormatter;
-import info.nightscout.androidaps.utils.FabricPrivacy;
import info.nightscout.androidaps.utils.NumberPicker;
import info.nightscout.androidaps.utils.SafeParse;
import info.nightscout.androidaps.utils.ToastUtils;
@@ -194,7 +191,6 @@ public class NewTreatmentDialog extends DialogFragment implements OnClickListene
} else {
TreatmentsPlugin.getPlugin().addToHistoryTreatment(detailedBolusInfo, false);
}
- FabricPrivacy.getInstance().logCustom(new CustomEvent("Bolus"));
}
}
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/Dialogs/WizardDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/WizardDialog.java
similarity index 99%
rename from app/src/main/java/info/nightscout/androidaps/plugins/general/overview/Dialogs/WizardDialog.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/WizardDialog.java
index 33b3019668..b4a3de4271 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/Dialogs/WizardDialog.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/overview/dialogs/WizardDialog.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.general.overview.Dialogs;
+package info.nightscout.androidaps.plugins.general.overview.dialogs;
import android.app.Activity;
import android.content.Context;
@@ -26,7 +26,6 @@ import android.widget.LinearLayout;
import android.widget.Spinner;
import android.widget.TextView;
-import com.crashlytics.android.answers.CustomEvent;
import com.squareup.otto.Subscribe;
import org.json.JSONException;
@@ -66,7 +65,6 @@ import info.nightscout.androidaps.queue.Callback;
import info.nightscout.androidaps.utils.BolusWizard;
import info.nightscout.androidaps.utils.DateUtil;
import info.nightscout.androidaps.utils.DecimalFormatter;
-import info.nightscout.androidaps.utils.FabricPrivacy;
import info.nightscout.androidaps.utils.NumberPicker;
import info.nightscout.androidaps.utils.SP;
import info.nightscout.androidaps.utils.SafeParse;
@@ -398,7 +396,6 @@ public class WizardDialog extends DialogFragment implements OnClickListener, Com
} else {
TreatmentsPlugin.getPlugin().addToHistoryTreatment(detailedBolusInfo, false);
}
- FabricPrivacy.getInstance().logCustom(new CustomEvent("Wizard"));
}
}
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/smsCommunicator/SmsCommunicatorPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/general/smsCommunicator/SmsCommunicatorPlugin.java
index e4ec65df11..7703561aa9 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/smsCommunicator/SmsCommunicatorPlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/smsCommunicator/SmsCommunicatorPlugin.java
@@ -118,7 +118,7 @@ public class SmsCommunicatorPlugin extends PluginBase {
}
boolean isCommand(String command, String number) {
- switch(command.toUpperCase()) {
+ switch (command.toUpperCase()) {
case "BG":
case "LOOP":
case "TREATMENTS":
@@ -729,7 +729,7 @@ public class SmsCommunicatorPlugin extends PluginBase {
String passCode = generatePasscode();
String reply = String.format(MainApp.gs(R.string.smscommunicator_calibrationreplywithcode), cal, passCode);
receivedSms.processed = true;
- messageToConfirm = new AuthRequest(this, receivedSms, reply, passCode, new SmsAction() {
+ messageToConfirm = new AuthRequest(this, receivedSms, reply, passCode, new SmsAction(cal) {
@Override
public void run() {
boolean result = XdripCalibrations.sendIntent(aDouble);
@@ -760,11 +760,18 @@ public class SmsCommunicatorPlugin extends PluginBase {
void sendSMS(Sms sms) {
SmsManager smsManager = SmsManager.getDefault();
sms.text = stripAccents(sms.text);
- if (sms.text.length() > 140) sms.text = sms.text.substring(0, 139);
+
try {
if (L.isEnabled(L.SMS))
log.debug("Sending SMS to " + sms.phoneNumber + ": " + sms.text);
- smsManager.sendTextMessage(sms.phoneNumber, null, sms.text, null, null);
+ if (sms.text.getBytes().length <= 140)
+ smsManager.sendTextMessage(sms.phoneNumber, null, sms.text, null, null);
+ else {
+ ArrayList parts = smsManager.divideMessage(sms.text);
+ smsManager.sendMultipartTextMessage(sms.phoneNumber, null, parts,
+ null, null);
+ }
+
messages.add(sms);
} catch (IllegalArgumentException e) {
Notification notification = new Notification(Notification.INVALID_PHONE_NUMBER, MainApp.gs(R.string.smscommunicator_invalidphonennumber), Notification.NORMAL);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/ActionStringHandler.java b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/ActionStringHandler.java
index b92410d67f..1a01a783cd 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/ActionStringHandler.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/ActionStringHandler.java
@@ -625,10 +625,12 @@ public class ActionStringHandler {
}
generateTempTarget(duration, low, high);
} else if ("wizard2".equals(act[0])) {
- //use last calculation as confirmed string matches
+ if (lastBolusWizard != null) {
+ //use last calculation as confirmed string matches
- doBolus(lastBolusWizard.calculatedTotalInsulin, lastBolusWizard.carbs);
- lastBolusWizard = null;
+ doBolus(lastBolusWizard.calculatedTotalInsulin, lastBolusWizard.carbs);
+ lastBolusWizard = null;
+ }
} else if ("bolus".equals(act[0])) {
double insulin = SafeParse.stringToDouble(act[1]);
int carbs = SafeParse.stringToInt(act[2]);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/WatchUpdaterService.java b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/WatchUpdaterService.java
index 52dbeed75c..86b56ba130 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/WatchUpdaterService.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/wear/wearintegration/WatchUpdaterService.java
@@ -482,6 +482,8 @@ public class WatchUpdaterService extends WearableListenerService implements Goog
for (; runningTime < now; runningTime += 5 * 60 * 1000) {
Profile profileTB = ProfileFunctions.getInstance().getProfile(runningTime);
+ if (profileTB == null)
+ return;
//basal rate
endBasalValue = profile.getBasal(runningTime);
if (endBasalValue != beginBasalValue) {
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensData.java b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensData.java
index 6a32c1084b..4b47602f33 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensData.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/AutosensData.java
@@ -6,6 +6,7 @@ import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import java.util.Locale;
import info.nightscout.androidaps.Constants;
import info.nightscout.androidaps.MainApp;
@@ -66,7 +67,7 @@ public class AutosensData implements DataPointWithLabelInterface {
@Override
public String toString() {
- return String.format("CarbsInPast: time: %s carbs: %.02f min5minCI: %.02f remaining: %.2f", new Date(time).toLocaleString(), carbs, min5minCarbImpact, remaining);
+ return String.format(Locale.ENGLISH, "CarbsInPast: time: %s carbs: %.02f min5minCI: %.02f remaining: %.2f", new Date(time).toLocaleString(), carbs, min5minCarbImpact, remaining);
}
}
@@ -101,7 +102,7 @@ public class AutosensData implements DataPointWithLabelInterface {
@Override
public String toString() {
- return String.format("AutosensData: %s pastSensitivity=%s delta=%.02f avgDelta=%.02f bgi=%.02f deviation=%.02f avgDeviation=%.02f absorbed=%.02f carbsFromBolus=%.02f cob=%.02f autosensRatio=%.02f slopeFromMaxDeviation=%.02f slopeFromMinDeviation=%.02f activeCarbsList=%s",
+ return String.format(Locale.ENGLISH, "AutosensData: %s pastSensitivity=%s delta=%.02f avgDelta=%.02f bgi=%.02f deviation=%.02f avgDeviation=%.02f absorbed=%.02f carbsFromBolus=%.02f cob=%.02f autosensRatio=%.02f slopeFromMaxDeviation=%.02f slopeFromMinDeviation=%.02f activeCarbsList=%s",
new Date(time).toLocaleString(), pastSensitivity, delta, avgDelta, bgi, deviation, avgDeviation, absorbed, carbsFromBolus, cob, autosensResult.ratio, slopeFromMaxDeviation, slopeFromMinDeviation, activeCarbsList.toString());
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.java
index aac0985fba..4897ff55ac 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobCalculatorPlugin.java
@@ -496,6 +496,10 @@ public class IobCobCalculatorPlugin extends PluginBase {
log.debug("AUTOSENSDATA null: Exception catched (" + reason + ")");
return null;
}
+ if (data == null) {
+ log.debug("AUTOSENSDATA null: data==null");
+ return null;
+ }
if (data.time < System.currentTimeMillis() - 11 * 60 * 1000) {
if (L.isEnabled(L.AUTOSENS))
log.debug("AUTOSENSDATA null: data is old (" + reason + ") size()=" + autosensDataTable.size() + " lastdata=" + DateUtil.dateAndTimeString(data.time));
@@ -626,6 +630,7 @@ public class IobCobCalculatorPlugin extends PluginBase {
log.debug("Invalidating cached data because of new profile. IOB: " + iobTable.size() + " Autosens: " + autosensDataTable.size() + " records");
iobTable = new LongSparseArray<>();
autosensDataTable = new LongSparseArray<>();
+ basalDataTable = new LongSparseArray<>();
}
runCalculation("onNewProfile", System.currentTimeMillis(), false, true, ev);
}
@@ -648,9 +653,10 @@ public class IobCobCalculatorPlugin extends PluginBase {
stopCalculation("onEventPreferenceChange");
synchronized (dataLock) {
if (L.isEnabled(L.AUTOSENS))
- log.debug("Invalidating cached data because of preference change. IOB: " + iobTable.size() + " Autosens: " + autosensDataTable.size() + " records");
+ log.debug("Invalidating cached data because of preference change. IOB: " + iobTable.size() + " Autosens: " + autosensDataTable.size() + " records" + " BasalData: " + basalDataTable.size() + " records");
iobTable = new LongSparseArray<>();
autosensDataTable = new LongSparseArray<>();
+ basalDataTable = new LongSparseArray<>();
}
runCalculation("onEventPreferenceChange", System.currentTimeMillis(), false, true, ev);
}
@@ -726,6 +732,7 @@ public class IobCobCalculatorPlugin extends PluginBase {
log.debug("Clearing cached data.");
iobTable = new LongSparseArray<>();
autosensDataTable = new LongSparseArray<>();
+ basalDataTable = new LongSparseArray<>();
}
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Thread.java b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Thread.java
index e27f27c26f..492f3c0ff1 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Thread.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobOref1Thread.java
@@ -5,8 +5,6 @@ import android.os.PowerManager;
import android.os.SystemClock;
import android.support.v4.util.LongSparseArray;
-import com.crashlytics.android.answers.CustomEvent;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -16,7 +14,6 @@ import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
-import info.nightscout.androidaps.BuildConfig;
import info.nightscout.androidaps.Constants;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
@@ -26,13 +23,13 @@ import info.nightscout.androidaps.db.BgReading;
import info.nightscout.androidaps.db.TempTarget;
import info.nightscout.androidaps.events.Event;
import info.nightscout.androidaps.logging.L;
+import info.nightscout.androidaps.plugins.aps.openAPSSMB.SMBDefaults;
import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin;
import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctions;
-import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventAutosensCalculationFinished;
-import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress;
-import info.nightscout.androidaps.plugins.aps.openAPSSMB.SMBDefaults;
import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification;
import info.nightscout.androidaps.plugins.general.overview.notifications.Notification;
+import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventAutosensCalculationFinished;
+import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress;
import info.nightscout.androidaps.plugins.treatments.Treatment;
import info.nightscout.androidaps.plugins.treatments.TreatmentsPlugin;
import info.nightscout.androidaps.utils.DateUtil;
@@ -224,13 +221,6 @@ public class IobCobOref1Thread extends Thread {
} catch (Exception e) {
log.error("Unhandled exception", e);
FabricPrivacy.logException(e);
- FabricPrivacy.getInstance().logCustom(new CustomEvent("CatchedError")
- .putCustomAttribute("buildversion", BuildConfig.BUILDVERSION)
- .putCustomAttribute("version", BuildConfig.VERSION)
- .putCustomAttribute("autosensDataTable", iobCobCalculatorPlugin.getAutosensDataTable().toString())
- .putCustomAttribute("for_data", ">>>>> bucketed_data.size()=" + bucketed_data.size() + " i=" + i + "hourAgoData=" + hourAgoData.toString())
- .putCustomAttribute("past", past)
- );
log.debug(autosensDataTable.toString());
log.debug(bucketed_data.toString());
log.debug(IobCobCalculatorPlugin.getPlugin().getBgReadings().toString());
@@ -364,7 +354,8 @@ public class IobCobOref1Thread extends Thread {
//log.debug("TIME: " + new Date(bgTime).toString() + " BG: " + bg + " SENS: " + sens + " DELTA: " + delta + " AVGDELTA: " + avgDelta + " IOB: " + iob.iob + " ACTIVITY: " + iob.activity + " BGI: " + bgi + " DEVIATION: " + deviation);
// add an extra negative deviation if a high temptarget is running and exercise mode is set
- if (SP.getBoolean(R.string.key_high_temptarget_raises_sensitivity, SMBDefaults.high_temptarget_raises_sensitivity)) {
+ // TODO AS-FIX
+ if (false && SP.getBoolean(R.string.key_high_temptarget_raises_sensitivity, SMBDefaults.high_temptarget_raises_sensitivity)) {
TempTarget tempTarget = TreatmentsPlugin.getPlugin().getTempTargetFromHistory(bgTime);
if (tempTarget != null && tempTarget.target() >= 100) {
autosensData.extraDeviation.add(-(tempTarget.target() - 100) / 20);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobThread.java b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobThread.java
index 2970f07aca..2aacb4f453 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobThread.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/iob/iobCobCalculator/IobCobThread.java
@@ -5,8 +5,6 @@ import android.os.PowerManager;
import android.os.SystemClock;
import android.support.v4.util.LongSparseArray;
-import com.crashlytics.android.answers.CustomEvent;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -14,7 +12,6 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
-import info.nightscout.androidaps.BuildConfig;
import info.nightscout.androidaps.Constants;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
@@ -24,13 +21,13 @@ import info.nightscout.androidaps.db.BgReading;
import info.nightscout.androidaps.events.Event;
import info.nightscout.androidaps.interfaces.PluginType;
import info.nightscout.androidaps.logging.L;
+import info.nightscout.androidaps.plugins.aps.openAPSSMB.SMBDefaults;
import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin;
import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctions;
-import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventAutosensCalculationFinished;
-import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress;
-import info.nightscout.androidaps.plugins.aps.openAPSSMB.SMBDefaults;
import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification;
import info.nightscout.androidaps.plugins.general.overview.notifications.Notification;
+import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventAutosensCalculationFinished;
+import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventIobCalculationProgress;
import info.nightscout.androidaps.plugins.sensitivity.SensitivityAAPSPlugin;
import info.nightscout.androidaps.plugins.sensitivity.SensitivityWeightedAveragePlugin;
import info.nightscout.androidaps.plugins.treatments.Treatment;
@@ -223,13 +220,6 @@ public class IobCobThread extends Thread {
} catch (Exception e) {
log.error("Unhandled exception", e);
FabricPrivacy.logException(e);
- FabricPrivacy.getInstance().logCustom(new CustomEvent("CatchedError")
- .putCustomAttribute("buildversion", BuildConfig.BUILDVERSION)
- .putCustomAttribute("version", BuildConfig.VERSION)
- .putCustomAttribute("autosensDataTable", iobCobCalculatorPlugin.getAutosensDataTable().toString())
- .putCustomAttribute("for_data", ">>>>> bucketed_data.size()=" + bucketed_data.size() + " i=" + i + "hourAgoData=" + hourAgoData.toString())
- .putCustomAttribute("past", past)
- );
log.debug(autosensDataTable.toString());
log.debug(bucketed_data.toString());
log.debug(IobCobCalculatorPlugin.getPlugin().getBgReadings().toString());
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/DoseStepSize.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/DoseStepSize.java
index 7e4bd7762e..b2ce475072 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/DoseStepSize.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/DoseStepSize.java
@@ -18,6 +18,10 @@ public enum DoseStepSize
new DoseStepSizeEntry(5f, 10f, 0.2f), //
new DoseStepSizeEntry(10f, Double.MAX_VALUE, 0.5f)),
+ InsightBasal(
+ new DoseStepSizeEntry(0f, 5f, 0.01f),
+ new DoseStepSizeEntry(5f, Double.MAX_VALUE, 0.1f)),
+
MedtronicVeoBasal( //
new DoseStepSizeEntry(0f, 1f, 0.025f), //
new DoseStepSizeEntry(1f, 10f, 0.05f), //
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpType.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpType.java
index e1e7f2bf2b..9a7e351bf1 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpType.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/common/defs/PumpType.java
@@ -49,9 +49,15 @@ public enum PumpType {
AccuChekInsight("Accu-Chek Insight", 0.05d, DoseStepSize.InsightBolus, //
new DoseSettings(0.05d, 15, 24*60, 0.05d), //
PumpTempBasalType.Percent,
- new DoseSettings(10, 15, 12*60,0d, 250d), PumpCapability.BasalRate_Duration15and30minAllowed, //
+ new DoseSettings(10, 15, 24*60,0d, 250d), PumpCapability.BasalRate_Duration15and30minAllowed, //
0.02d, 0.01d, null, PumpCapability.InsightCapabilities), //
+ AccuChekInsightBluetooth("Accu-Chek Insight", 0.01d, null, //
+ new DoseSettings(0.01d, 15, 24*60, 0.05d), //
+ PumpTempBasalType.Percent,
+ new DoseSettings(10, 15, 24*60,0d, 250d), PumpCapability.BasalRate_Duration15and30minAllowed, //
+ 0.02d, 0.01d, DoseStepSize.InsightBolus, PumpCapability.InsightCapabilities), //
+
// Animas
AnimasVibe("Animas Vibe", 0.05d, null, // AnimasBolus?
new DoseSettings(0.05d, 30, 12*60, 0.05d), //
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSettingBasal.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSettingBasal.java
index dc05848b34..68dcf089c0 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSettingBasal.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSettingBasal.java
@@ -3,6 +3,8 @@ package info.nightscout.androidaps.plugins.pump.danaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.util.Locale;
+
import info.nightscout.androidaps.logging.L;
import info.nightscout.androidaps.plugins.pump.danaR.DanaRPlugin;
import info.nightscout.androidaps.plugins.pump.danaR.DanaRPump;
@@ -31,7 +33,7 @@ public class MsgSettingBasal extends MessageBase {
if (L.isEnabled(L.PUMPCOMM))
for (int index = 0; index < 24; index++) {
- log.debug("Basal " + String.format("%02d", index) + "h: " + pump.pumpProfiles[pump.activeProfile][index]);
+ log.debug("Basal " + String.format(Locale.ENGLISH, "%02d", index) + "h: " + pump.pumpProfiles[pump.activeProfile][index]);
}
}
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSettingBasalProfileAll.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSettingBasalProfileAll.java
index 89a4228ab7..9c471a3a00 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSettingBasalProfileAll.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSettingBasalProfileAll.java
@@ -3,6 +3,8 @@ package info.nightscout.androidaps.plugins.pump.danaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.util.Locale;
+
import info.nightscout.androidaps.logging.L;
import info.nightscout.androidaps.plugins.pump.danaR.DanaRPump;
@@ -55,7 +57,7 @@ public class MsgSettingBasalProfileAll extends MessageBase {
for (int profile = 0; profile < 4; profile++) {
for (int index = 0; index < 48; index++) {
try {
- log.debug("Basal profile " + profile + ": " + String.format("%02d", index) + "h: " + pump.pumpProfiles[profile][index]);
+ log.debug("Basal profile " + profile + ": " + String.format(Locale.ENGLISH, "%02d", index) + "h: " + pump.pumpProfiles[profile][index]);
} catch (Exception e){
log.error("Unhandled exception" , e);
}
@@ -67,8 +69,8 @@ public class MsgSettingBasalProfileAll extends MessageBase {
//this is absurd pump.pumpProfiles[profile][index] returns nullPointerException
try {
log.debug("Basal profile " + profile + ": " +
- String.format("%02d", (index / 2)) +
- ":" + String.format("%02d", (index % 2) * 30) + " : " +
+ String.format(Locale.ENGLISH, "%02d", (index / 2)) +
+ ":" + String.format(Locale.ENGLISH, "%02d", (index % 2) * 30) + " : " +
pump.pumpProfiles[profile][index]);
} catch (Exception e){
log.error("Unhandled exception" , e);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/services/DanaRExecutionService.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/services/DanaRExecutionService.java
index 4c61c92a4f..22d98368a6 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/services/DanaRExecutionService.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/services/DanaRExecutionService.java
@@ -18,14 +18,14 @@ import info.nightscout.androidaps.data.PumpEnactResult;
import info.nightscout.androidaps.events.EventAppExit;
import info.nightscout.androidaps.events.EventInitializationChanged;
import info.nightscout.androidaps.events.EventPreferenceChange;
-import info.nightscout.androidaps.events.EventProfileSwitchChange;
+import info.nightscout.androidaps.events.EventProfileNeedsUpdate;
import info.nightscout.androidaps.events.EventPumpStatusChanged;
import info.nightscout.androidaps.interfaces.PumpInterface;
import info.nightscout.androidaps.logging.L;
import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin;
import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctions;
import info.nightscout.androidaps.plugins.general.nsclient.NSUpload;
-import info.nightscout.androidaps.plugins.general.overview.Dialogs.BolusProgressDialog;
+import info.nightscout.androidaps.plugins.general.overview.dialogs.BolusProgressDialog;
import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification;
import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress;
import info.nightscout.androidaps.plugins.general.overview.notifications.Notification;
@@ -166,7 +166,7 @@ public class DanaRExecutionService extends AbstractDanaRExecutionService {
MainApp.bus().post(new EventPumpStatusChanged(MainApp.gs(R.string.gettingpumpsettings)));
mSerialIOThread.sendMessage(new MsgSettingBasal());
if (!pump.isThisProfileSet(profile) && !ConfigBuilderPlugin.getPlugin().getCommandQueue().isRunning(Command.CommandType.BASALPROFILE)) {
- MainApp.bus().post(new EventProfileSwitchChange());
+ MainApp.bus().post(new EventProfileNeedsUpdate());
}
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRKorean/comm/MsgSettingBasalProfileAll_k.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRKorean/comm/MsgSettingBasalProfileAll_k.java
index cb131634ec..85591d4655 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRKorean/comm/MsgSettingBasalProfileAll_k.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRKorean/comm/MsgSettingBasalProfileAll_k.java
@@ -3,6 +3,8 @@ package info.nightscout.androidaps.plugins.pump.danaRKorean.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.util.Locale;
+
import info.nightscout.androidaps.logging.L;
import info.nightscout.androidaps.plugins.pump.danaR.DanaRPump;
import info.nightscout.androidaps.plugins.pump.danaR.comm.MessageBase;
@@ -55,15 +57,15 @@ public class MsgSettingBasalProfileAll_k extends MessageBase {
if (pump.basal48Enable) {
for (int profile = 0; profile < 4; profile++) {
for (int index = 0; index < 24; index++) {
- log.debug("Basal profile " + profile + ": " + String.format("%02d", index) + "h: " + pump.pumpProfiles[profile][index]);
+ log.debug("Basal profile " + profile + ": " + String.format(Locale.ENGLISH, "%02d", index) + "h: " + pump.pumpProfiles[profile][index]);
}
}
} else {
for (int profile = 0; profile < 4; profile++) {
for (int index = 0; index < 48; index++) {
log.debug("Basal profile " + profile + ": " +
- String.format("%02d", (index / 2)) +
- ":" + String.format("%02d", (index % 2) * 30) + " : " +
+ String.format(Locale.ENGLISH, "%02d", (index / 2)) +
+ ":" + String.format(Locale.ENGLISH, "%02d", (index % 2) * 30) + " : " +
pump.pumpProfiles[profile][index]);
}
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRKorean/comm/MsgSettingBasal_k.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRKorean/comm/MsgSettingBasal_k.java
index 99ad848289..b3ba918a4a 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRKorean/comm/MsgSettingBasal_k.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRKorean/comm/MsgSettingBasal_k.java
@@ -3,6 +3,8 @@ package info.nightscout.androidaps.plugins.pump.danaRKorean.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.util.Locale;
+
import info.nightscout.androidaps.logging.L;
import info.nightscout.androidaps.plugins.pump.danaR.DanaRPump;
import info.nightscout.androidaps.plugins.pump.danaR.comm.MessageBase;
@@ -32,7 +34,7 @@ public class MsgSettingBasal_k extends MessageBase {
if (L.isEnabled(L.PUMPCOMM))
for (int index = 0; index < 24; index++) {
- log.debug("Basal " + String.format("%02d", index) + "h: " + pump.pumpProfiles[pump.activeProfile][index]);
+ log.debug("Basal " + String.format(Locale.ENGLISH, "%02d", index) + "h: " + pump.pumpProfiles[pump.activeProfile][index]);
}
}
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRKorean/services/DanaRKoreanExecutionService.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRKorean/services/DanaRKoreanExecutionService.java
index 056d336805..749b977c2c 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRKorean/services/DanaRKoreanExecutionService.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRKorean/services/DanaRKoreanExecutionService.java
@@ -18,14 +18,14 @@ import info.nightscout.androidaps.data.PumpEnactResult;
import info.nightscout.androidaps.events.EventAppExit;
import info.nightscout.androidaps.events.EventInitializationChanged;
import info.nightscout.androidaps.events.EventPreferenceChange;
-import info.nightscout.androidaps.events.EventProfileSwitchChange;
+import info.nightscout.androidaps.events.EventProfileNeedsUpdate;
import info.nightscout.androidaps.events.EventPumpStatusChanged;
import info.nightscout.androidaps.interfaces.PumpInterface;
import info.nightscout.androidaps.logging.L;
import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin;
import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctions;
import info.nightscout.androidaps.plugins.general.nsclient.NSUpload;
-import info.nightscout.androidaps.plugins.general.overview.Dialogs.BolusProgressDialog;
+import info.nightscout.androidaps.plugins.general.overview.dialogs.BolusProgressDialog;
import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification;
import info.nightscout.androidaps.plugins.general.overview.notifications.Notification;
import info.nightscout.androidaps.plugins.pump.danaR.DanaRPump;
@@ -171,7 +171,7 @@ public class DanaRKoreanExecutionService extends AbstractDanaRExecutionService {
MainApp.bus().post(new EventPumpStatusChanged(MainApp.gs(R.string.gettingpumpsettings)));
mSerialIOThread.sendMessage(new MsgSettingBasal());
if (!pump.isThisProfileSet(profile) && !ConfigBuilderPlugin.getPlugin().getCommandQueue().isRunning(Command.CommandType.BASALPROFILE)) {
- MainApp.bus().post(new EventProfileSwitchChange());
+ MainApp.bus().post(new EventProfileNeedsUpdate());
}
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/comm/DanaRS_Packet_Basal_Get_Basal_Rate.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/comm/DanaRS_Packet_Basal_Get_Basal_Rate.java
index 5cbda121ce..eb89cd5d10 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/comm/DanaRS_Packet_Basal_Get_Basal_Rate.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/comm/DanaRS_Packet_Basal_Get_Basal_Rate.java
@@ -6,6 +6,8 @@ import com.cozmo.danar.util.BleCommandUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.util.Locale;
+
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.logging.L;
@@ -49,7 +51,7 @@ public class DanaRS_Packet_Basal_Get_Basal_Rate extends DanaRS_Packet {
log.debug("Max basal: " + pump.maxBasal + " U");
log.debug("Basal step: " + pump.basalStep + " U");
for (int index = 0; index < 24; index++)
- log.debug("Basal " + String.format("%02d", index) + "h: " + pump.pumpProfiles[pump.activeProfile][index]);
+ log.debug("Basal " + String.format(Locale.ENGLISH, "%02d", index) + "h: " + pump.pumpProfiles[pump.activeProfile][index]);
}
if (pump.basalStep != 0.01d) {
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/comm/DanaRS_Packet_Basal_Get_Profile_Basal_Rate.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/comm/DanaRS_Packet_Basal_Get_Profile_Basal_Rate.java
index 04aa4cefb3..778b794b2a 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/comm/DanaRS_Packet_Basal_Get_Profile_Basal_Rate.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/comm/DanaRS_Packet_Basal_Get_Profile_Basal_Rate.java
@@ -5,6 +5,8 @@ import com.cozmo.danar.util.BleCommandUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.util.Locale;
+
import info.nightscout.androidaps.logging.L;
import info.nightscout.androidaps.plugins.pump.danaR.DanaRPump;
@@ -51,7 +53,7 @@ public class DanaRS_Packet_Basal_Get_Profile_Basal_Rate extends DanaRS_Packet {
}
if (L.isEnabled(L.PUMPCOMM)) {
for (int index = 0; index < 24; index++)
- log.debug("Basal " + String.format("%02d", index) + "h: " + pump.pumpProfiles[profileNumber][index]);
+ log.debug("Basal " + String.format(Locale.ENGLISH, "%02d", index) + "h: " + pump.pumpProfiles[profileNumber][index]);
}
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/services/DanaRSService.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/services/DanaRSService.java
index 47b1fbfe2a..06a3a651ca 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/services/DanaRSService.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/services/DanaRSService.java
@@ -20,14 +20,14 @@ import info.nightscout.androidaps.data.Profile;
import info.nightscout.androidaps.data.PumpEnactResult;
import info.nightscout.androidaps.events.EventAppExit;
import info.nightscout.androidaps.events.EventInitializationChanged;
-import info.nightscout.androidaps.events.EventProfileSwitchChange;
+import info.nightscout.androidaps.events.EventProfileNeedsUpdate;
import info.nightscout.androidaps.events.EventPumpStatusChanged;
import info.nightscout.androidaps.interfaces.PumpInterface;
import info.nightscout.androidaps.logging.L;
import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin;
import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctions;
-import info.nightscout.androidaps.plugins.general.overview.Dialogs.BolusProgressDialog;
-import info.nightscout.androidaps.plugins.general.overview.Dialogs.ErrorHelperActivity;
+import info.nightscout.androidaps.plugins.general.overview.dialogs.BolusProgressDialog;
+import info.nightscout.androidaps.plugins.general.overview.dialogs.ErrorHelperActivity;
import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification;
import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress;
import info.nightscout.androidaps.plugins.general.overview.notifications.Notification;
@@ -149,7 +149,7 @@ public class DanaRSService extends Service {
MainApp.bus().post(new EventPumpStatusChanged(MainApp.gs(R.string.gettingpumpsettings)));
bleComm.sendMessage(new DanaRS_Packet_Basal_Get_Basal_Rate()); // basal profile, basalStep, maxBasal
if (!pump.isThisProfileSet(profile) && !ConfigBuilderPlugin.getPlugin().getCommandQueue().isRunning(Command.CommandType.BASALPROFILE)) {
- MainApp.bus().post(new EventProfileSwitchChange());
+ MainApp.bus().post(new EventProfileNeedsUpdate());
}
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRv2/services/DanaRv2ExecutionService.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRv2/services/DanaRv2ExecutionService.java
index 8cabb8959d..2d2d2526dd 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRv2/services/DanaRv2ExecutionService.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRv2/services/DanaRv2ExecutionService.java
@@ -19,15 +19,15 @@ import info.nightscout.androidaps.data.PumpEnactResult;
import info.nightscout.androidaps.events.EventAppExit;
import info.nightscout.androidaps.events.EventInitializationChanged;
import info.nightscout.androidaps.events.EventPreferenceChange;
-import info.nightscout.androidaps.events.EventProfileSwitchChange;
+import info.nightscout.androidaps.events.EventProfileNeedsUpdate;
import info.nightscout.androidaps.events.EventPumpStatusChanged;
import info.nightscout.androidaps.interfaces.PumpInterface;
import info.nightscout.androidaps.logging.L;
import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin;
import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctions;
import info.nightscout.androidaps.plugins.general.nsclient.NSUpload;
-import info.nightscout.androidaps.plugins.general.overview.Dialogs.BolusProgressDialog;
-import info.nightscout.androidaps.plugins.general.overview.Dialogs.ErrorHelperActivity;
+import info.nightscout.androidaps.plugins.general.overview.dialogs.BolusProgressDialog;
+import info.nightscout.androidaps.plugins.general.overview.dialogs.ErrorHelperActivity;
import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification;
import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress;
import info.nightscout.androidaps.plugins.general.overview.notifications.Notification;
@@ -188,7 +188,7 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService {
MainApp.bus().post(new EventPumpStatusChanged(MainApp.gs(R.string.gettingpumpsettings)));
mSerialIOThread.sendMessage(new MsgSettingBasal());
if (!pump.isThisProfileSet(profile) && !ConfigBuilderPlugin.getPlugin().getCommandQueue().isRunning(Command.CommandType.BASALPROFILE)) {
- MainApp.bus().post(new EventProfileSwitchChange());
+ MainApp.bus().post(new EventProfileNeedsUpdate());
}
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java
index ccc38c1b9b..c5b505a3d3 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/insight/LocalInsightPlugin.java
@@ -171,7 +171,7 @@ public class LocalInsightPlugin extends PluginBase implements PumpInterface, Con
.preferencesId(R.xml.pref_insight_local));
pumpDescription = new PumpDescription();
- pumpDescription.setPumpDescription(PumpType.AccuChekInsight);
+ pumpDescription.setPumpDescription(PumpType.AccuChekInsightBluetooth);
}
public TBROverNotificationBlock getTBROverNotificationBlock() {
@@ -315,7 +315,7 @@ public class LocalInsightPlugin extends PluginBase implements PumpInterface, Con
calendar.set(Calendar.HOUR_OF_DAY, pumpTime.getHour());
calendar.set(Calendar.MINUTE, pumpTime.getMinute());
calendar.set(Calendar.SECOND, pumpTime.getSecond());
- if (Math.abs(calendar.getTimeInMillis() - System.currentTimeMillis()) > 10000) {
+ if (calendar.get(Calendar.HOUR_OF_DAY) != pumpTime.getHour() || Math.abs(calendar.getTimeInMillis() - System.currentTimeMillis()) > 10000) {
calendar.setTime(new Date());
pumpTime.setYear(calendar.get(Calendar.YEAR));
pumpTime.setMonth(calendar.get(Calendar.MONTH) + 1);
@@ -421,7 +421,7 @@ public class LocalInsightPlugin extends PluginBase implements PumpInterface, Con
if (profile.getBasalValues().length > i + 1)
nextValue = profile.getBasalValues()[i + 1];
BasalProfileBlock profileBlock = new BasalProfileBlock();
- profileBlock.setBasalAmount(basalValue.value);
+ profileBlock.setBasalAmount(basalValue.value > 5 ? Math.round(basalValue.value / 0.1) * 0.1 : Math.round(basalValue.value / 0.01) * 0.01);
profileBlock.setDuration((((nextValue != null ? nextValue.timeAsSeconds : 24 * 60 * 60) - basalValue.timeAsSeconds) / 60));
profileBlocks.add(profileBlock);
}
@@ -476,7 +476,7 @@ public class LocalInsightPlugin extends PluginBase implements PumpInterface, Con
nextValue = profile.getBasalValues()[i + 1];
if (profileBlock.getDuration() * 60 != (nextValue != null ? nextValue.timeAsSeconds : 24 * 60 * 60) - basalValue.timeAsSeconds)
return false;
- if (Math.abs(profileBlock.getBasalAmount() - basalValue.value) > 0.01D)
+ if (Math.abs(profileBlock.getBasalAmount() - basalValue.value) > (basalValue.value > 5 ? 0.05 : 0.005))
return false;
}
return true;
@@ -510,14 +510,15 @@ public class LocalInsightPlugin extends PluginBase implements PumpInterface, Con
@Override
public PumpEnactResult deliverTreatment(DetailedBolusInfo detailedBolusInfo) {
PumpEnactResult result = new PumpEnactResult();
- if (detailedBolusInfo.insulin > 0) {
+ double insulin = Math.round(detailedBolusInfo.insulin / 0.01) * 0.01;
+ if (insulin > 0) {
try {
synchronized ($bolusLock) {
DeliverBolusMessage bolusMessage = new DeliverBolusMessage();
bolusMessage.setBolusType(BolusType.STANDARD);
bolusMessage.setDuration(0);
bolusMessage.setExtendedAmount(0);
- bolusMessage.setImmediateAmount(detailedBolusInfo.insulin);
+ bolusMessage.setImmediateAmount(insulin);
bolusID = connectionService.requestMessage(bolusMessage).await().getBolusId();
bolusCancelled = false;
}
@@ -527,7 +528,7 @@ public class LocalInsightPlugin extends PluginBase implements PumpInterface, Con
t.isSMB = detailedBolusInfo.isSMB;
final EventOverviewBolusProgress bolusingEvent = EventOverviewBolusProgress.getInstance();
bolusingEvent.t = t;
- bolusingEvent.status = MainApp.gs(R.string.insight_delivered, 0d, detailedBolusInfo.insulin);
+ bolusingEvent.status = MainApp.gs(R.string.insight_delivered, 0d, insulin);
bolusingEvent.percent = 0;
MainApp.bus().post(bolusingEvent);
int trials = 0;
@@ -565,7 +566,7 @@ public class LocalInsightPlugin extends PluginBase implements PumpInterface, Con
synchronized ($bolusLock) {
if (bolusCancelled || trials == -1 || trials++ >= 5) {
if (!bolusCancelled) {
- bolusingEvent.status = MainApp.gs(R.string.insight_delivered, detailedBolusInfo.insulin, detailedBolusInfo.insulin);
+ bolusingEvent.status = MainApp.gs(R.string.insight_delivered, insulin, insulin);
bolusingEvent.percent = 100;
MainApp.bus().post(bolusingEvent);
}
@@ -592,6 +593,7 @@ public class LocalInsightPlugin extends PluginBase implements PumpInterface, Con
result.enacted = true;
}
result.carbsDelivered = detailedBolusInfo.carbs;
+ result.bolusDelivered = insulin;
return result;
}
@@ -1187,6 +1189,7 @@ public class LocalInsightPlugin extends PluginBase implements PumpInterface, Con
}
private void processCannulaFilledEvent(CannulaFilledEvent event) {
+ if (!SP.getBoolean("insight_log_site_changes", false)) return;
long timestamp = parseDate(event.getEventYear(), event.getEventMonth(), event.getEventDay(),
event.getEventHour(), event.getEventMinute(), event.getEventSecond()) + timeOffset;
uploadCareportalEvent(timestamp, CareportalEvent.SITECHANGE);
@@ -1214,7 +1217,7 @@ public class LocalInsightPlugin extends PluginBase implements PumpInterface, Con
}
private void processSniffingDoneEvent(SniffingDoneEvent event) {
- if (!SP.getBoolean("insight_log_site_changes", false)) return;
+ if (!SP.getBoolean("insight_log_reservoir_changes", false)) return;
long timestamp = parseDate(event.getEventYear(), event.getEventMonth(), event.getEventDay(),
event.getEventHour(), event.getEventMinute(), event.getEventSecond()) + timeOffset;
uploadCareportalEvent(timestamp, CareportalEvent.INSULINCHANGE);
@@ -1537,6 +1540,11 @@ public class LocalInsightPlugin extends PluginBase implements PumpInterface, Con
return insulin;
}
+ @Override
+ public Constraint applyExtendedBolusConstraints(Constraint insulin) {
+ return applyBolusConstraints(insulin);
+ }
+
@Override
public void onStateChanged(InsightState state) {
if (state == InsightState.CONNECTED) {
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/treatments/CarbsGenerator.java b/app/src/main/java/info/nightscout/androidaps/plugins/treatments/CarbsGenerator.java
index 33b58e46cf..ac9be50a23 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/treatments/CarbsGenerator.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/treatments/CarbsGenerator.java
@@ -9,7 +9,7 @@ import info.nightscout.androidaps.data.DetailedBolusInfo;
import info.nightscout.androidaps.db.CareportalEvent;
import info.nightscout.androidaps.db.Source;
import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin;
-import info.nightscout.androidaps.plugins.general.overview.Dialogs.ErrorHelperActivity;
+import info.nightscout.androidaps.plugins.general.overview.dialogs.ErrorHelperActivity;
import info.nightscout.androidaps.queue.Callback;
import info.nightscout.androidaps.utils.T;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/treatments/TreatmentsPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/treatments/TreatmentsPlugin.java
index e176553a6a..2c94d6713d 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/treatments/TreatmentsPlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/treatments/TreatmentsPlugin.java
@@ -1,9 +1,10 @@
package info.nightscout.androidaps.plugins.treatments;
import android.content.Intent;
+import android.os.Bundle;
import android.support.annotation.Nullable;
-import com.crashlytics.android.answers.CustomEvent;
+import com.google.firebase.analytics.FirebaseAnalytics;
import com.squareup.otto.Subscribe;
import org.slf4j.Logger;
@@ -37,20 +38,21 @@ import info.nightscout.androidaps.interfaces.InsulinInterface;
import info.nightscout.androidaps.interfaces.PluginBase;
import info.nightscout.androidaps.interfaces.PluginDescription;
import info.nightscout.androidaps.interfaces.PluginType;
+import info.nightscout.androidaps.interfaces.PumpInterface;
import info.nightscout.androidaps.interfaces.TreatmentsInterface;
import info.nightscout.androidaps.logging.L;
import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin;
import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctions;
-import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensData;
-import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin;
-import info.nightscout.androidaps.plugins.general.overview.Dialogs.ErrorHelperActivity;
+import info.nightscout.androidaps.plugins.general.nsclient.NSUpload;
+import info.nightscout.androidaps.plugins.general.overview.dialogs.ErrorHelperActivity;
import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification;
import info.nightscout.androidaps.plugins.general.overview.notifications.Notification;
+import info.nightscout.androidaps.plugins.iob.iobCobCalculator.AutosensData;
+import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin;
import info.nightscout.androidaps.plugins.sensitivity.SensitivityAAPSPlugin;
import info.nightscout.androidaps.plugins.sensitivity.SensitivityWeightedAveragePlugin;
import info.nightscout.androidaps.utils.DateUtil;
import info.nightscout.androidaps.utils.FabricPrivacy;
-import info.nightscout.androidaps.plugins.general.nsclient.NSUpload;
import info.nightscout.androidaps.utils.SP;
import info.nightscout.androidaps.utils.T;
@@ -184,7 +186,11 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface
InsulinInterface insulinInterface = ConfigBuilderPlugin.getPlugin().getActiveInsulin();
if (insulinInterface == null)
- return total;
+ return total;
+
+ PumpInterface pumpInterface = ConfigBuilderPlugin.getPlugin().getActivePump();
+ if (pumpInterface == null)
+ return total;
double dia = profile.getDia();
@@ -209,7 +215,7 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface
}
}
- if (!ConfigBuilderPlugin.getPlugin().getActivePump().isFakingTempsByExtendedBoluses())
+ if (!pumpInterface.isFakingTempsByExtendedBoluses())
synchronized (extendedBoluses) {
for (Integer pos = 0; pos < extendedBoluses.size(); pos++) {
ExtendedBolus e = extendedBoluses.get(pos);
@@ -259,7 +265,7 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface
if (t > absorptionTime_ago && t <= now) {
if (treatment.carbs >= 1) {
result.carbs += treatment.carbs;
- if(t > result.lastCarbTime)
+ if (t > result.lastCarbTime)
result.lastCarbTime = t;
}
}
@@ -312,7 +318,7 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface
}
}
if (L.isEnabled(L.DATATREATMENTS))
- log.debug("Last bolus time: " + new Date(last).toLocaleString());
+ log.debug("Last bolus time: " + new Date(last).toLocaleString());
return last;
}
@@ -341,7 +347,7 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface
@Subscribe
public void onStatusEvent(final EventReloadTreatmentData ev) {
if (L.isEnabled(L.DATATREATMENTS))
- log.debug("EventReloadTreatmentData");
+ log.debug("EventReloadTreatmentData");
initializeTreatmentData();
initializeExtendedBolusData();
updateTotalIOBTreatments();
@@ -352,7 +358,7 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface
@SuppressWarnings("unused")
public void onStatusEvent(final EventReloadTempBasalData ev) {
if (L.isEnabled(L.DATATREATMENTS))
- log.debug("EventReloadTempBasalData");
+ log.debug("EventReloadTempBasalData");
initializeTempBasalData();
updateTotalIOBTempBasals();
}
@@ -372,14 +378,14 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface
InsulinInterface insulinInterface = ConfigBuilderPlugin.getPlugin().getActiveInsulin();
if (insulinInterface == null)
- return total;
+ return total;
synchronized (tempBasals) {
for (Integer pos = 0; pos < tempBasals.size(); pos++) {
TemporaryBasal t = tempBasals.get(pos);
if (t.date > time) continue;
IobTotal calc;
- if(truncate && t.end() > truncateTime){
+ if (truncate && t.end() > truncateTime) {
TemporaryBasal dummyTemp = new TemporaryBasal();
dummyTemp.copyFrom(t);
dummyTemp.cutEndTo(truncateTime);
@@ -398,7 +404,7 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface
ExtendedBolus e = extendedBoluses.get(pos);
if (e.date > time) continue;
IobTotal calc;
- if(truncate && e.end() > truncateTime){
+ if (truncate && e.end() > truncateTime) {
ExtendedBolus dummyExt = new ExtendedBolus();
dummyExt.copyFrom(e);
dummyExt.cutEndTo(truncateTime);
@@ -535,9 +541,10 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
MainApp.instance().startActivity(i);
- CustomEvent customEvent = new CustomEvent("TreatmentClash");
- customEvent.putCustomAttribute("status", status);
- FabricPrivacy.getInstance().logCustom(customEvent);
+ Bundle bundle = new Bundle();
+ bundle.putString(FirebaseAnalytics.Param.ITEM_ID, "TreatmentClash");
+ bundle.putString(FirebaseAnalytics.Param.VALUE, status);
+ FabricPrivacy.getInstance().logCustom(bundle);
}
return newRecordCreated;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/treatments/fragments/TreatmentsBolusFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/treatments/fragments/TreatmentsBolusFragment.java
index 64e93f3f95..26a8494dd7 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/treatments/fragments/TreatmentsBolusFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/treatments/fragments/TreatmentsBolusFragment.java
@@ -18,7 +18,6 @@ import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
-import com.crashlytics.android.answers.CustomEvent;
import com.squareup.otto.Subscribe;
import java.util.List;
@@ -40,7 +39,6 @@ import info.nightscout.androidaps.plugins.treatments.dialogs.WizardInfoDialog;
import info.nightscout.androidaps.services.Intents;
import info.nightscout.androidaps.utils.DateUtil;
import info.nightscout.androidaps.utils.DecimalFormatter;
-import info.nightscout.androidaps.utils.FabricPrivacy;
import info.nightscout.androidaps.utils.SP;
import static info.nightscout.androidaps.utils.DateUtil.now;
@@ -165,7 +163,6 @@ public class TreatmentsBolusFragment extends SubscriberFragment implements View.
TreatmentsPlugin.getPlugin().getService().delete(treatment);
}
updateGUI();
- FabricPrivacy.getInstance().logCustom(new CustomEvent("RemoveTreatment"));
}
});
builder.setNegativeButton(MainApp.gs(R.string.cancel), null);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/treatments/fragments/TreatmentsExtendedBolusesFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/treatments/fragments/TreatmentsExtendedBolusesFragment.java
index 93f2a64006..766190e378 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/treatments/fragments/TreatmentsExtendedBolusesFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/treatments/fragments/TreatmentsExtendedBolusesFragment.java
@@ -15,7 +15,6 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
-import com.crashlytics.android.answers.CustomEvent;
import com.squareup.otto.Subscribe;
import info.nightscout.androidaps.MainApp;
@@ -32,7 +31,6 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventAutos
import info.nightscout.androidaps.plugins.treatments.TreatmentsPlugin;
import info.nightscout.androidaps.utils.DateUtil;
import info.nightscout.androidaps.utils.DecimalFormatter;
-import info.nightscout.androidaps.utils.FabricPrivacy;
public class TreatmentsExtendedBolusesFragment extends SubscriberFragment {
@@ -150,7 +148,6 @@ public class TreatmentsExtendedBolusesFragment extends SubscriberFragment {
UploadQueue.removeID("dbAdd", _id);
}
MainApp.getDbHelper().delete(extendedBolus);
- FabricPrivacy.getInstance().logCustom(new CustomEvent("RemoveExtendedBolus"));
}
});
builder.setNegativeButton(MainApp.gs(R.string.cancel), null);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/treatments/fragments/TreatmentsProfileSwitchFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/treatments/fragments/TreatmentsProfileSwitchFragment.java
index 5da86217f0..c59d5e1836 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/treatments/fragments/TreatmentsProfileSwitchFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/treatments/fragments/TreatmentsProfileSwitchFragment.java
@@ -27,13 +27,13 @@ import java.util.List;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
+import info.nightscout.androidaps.events.EventProfileNeedsUpdate;
import info.nightscout.androidaps.logging.L;
import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctions;
import info.nightscout.androidaps.services.Intents;
import info.nightscout.androidaps.data.Profile;
import info.nightscout.androidaps.db.ProfileSwitch;
import info.nightscout.androidaps.db.Source;
-import info.nightscout.androidaps.events.EventProfileSwitchChange;
import info.nightscout.androidaps.plugins.common.SubscriberFragment;
import info.nightscout.androidaps.plugins.general.nsclient.UploadQueue;
import info.nightscout.androidaps.utils.DateUtil;
@@ -216,7 +216,7 @@ public class TreatmentsProfileSwitchFragment extends SubscriberFragment implemen
}
@Subscribe
- public void onStatusEvent(final EventProfileSwitchChange ev) {
+ public void onStatusEvent(final EventProfileNeedsUpdate ev) {
updateGUI();
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/treatments/fragments/TreatmentsTemporaryBasalsFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/treatments/fragments/TreatmentsTemporaryBasalsFragment.java
index b928263ed5..7b935d354e 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/treatments/fragments/TreatmentsTemporaryBasalsFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/treatments/fragments/TreatmentsTemporaryBasalsFragment.java
@@ -15,7 +15,6 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
-import com.crashlytics.android.answers.CustomEvent;
import com.squareup.otto.Subscribe;
import info.nightscout.androidaps.MainApp;
@@ -34,7 +33,6 @@ import info.nightscout.androidaps.plugins.iob.iobCobCalculator.events.EventAutos
import info.nightscout.androidaps.plugins.treatments.TreatmentsPlugin;
import info.nightscout.androidaps.utils.DateUtil;
import info.nightscout.androidaps.utils.DecimalFormatter;
-import info.nightscout.androidaps.utils.FabricPrivacy;
public class TreatmentsTemporaryBasalsFragment extends SubscriberFragment {
@@ -175,7 +173,6 @@ public class TreatmentsTemporaryBasalsFragment extends SubscriberFragment {
UploadQueue.removeID("dbAdd", _id);
}
MainApp.getDbHelper().delete(tempBasal);
- FabricPrivacy.getInstance().logCustom(new CustomEvent("RemoveTempBasal"));
});
builder.setNegativeButton(MainApp.gs(R.string.cancel), null);
builder.show();
diff --git a/app/src/main/java/info/nightscout/androidaps/queue/CommandQueue.java b/app/src/main/java/info/nightscout/androidaps/queue/CommandQueue.java
index eee92177ab..e4fbacc43c 100644
--- a/app/src/main/java/info/nightscout/androidaps/queue/CommandQueue.java
+++ b/app/src/main/java/info/nightscout/androidaps/queue/CommandQueue.java
@@ -23,8 +23,8 @@ import info.nightscout.androidaps.interfaces.PumpInterface;
import info.nightscout.androidaps.logging.L;
import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin;
import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctions;
-import info.nightscout.androidaps.plugins.general.overview.Dialogs.BolusProgressDialog;
-import info.nightscout.androidaps.plugins.general.overview.Dialogs.BolusProgressHelperActivity;
+import info.nightscout.androidaps.plugins.general.overview.dialogs.BolusProgressDialog;
+import info.nightscout.androidaps.plugins.general.overview.dialogs.BolusProgressHelperActivity;
import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusprogressIfRunning;
import info.nightscout.androidaps.plugins.general.overview.events.EventDismissNotification;
import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification;
@@ -381,7 +381,7 @@ public class CommandQueue {
Notification notification = new Notification(Notification.NOT_ENG_MODE_OR_RELEASE, MainApp.gs(R.string.not_eng_mode_or_release), Notification.URGENT);
MainApp.bus().post(new EventNewNotification(notification));
if (callback != null)
- callback.result(new PumpEnactResult().success(false).comment(MainApp.gs(R.string.not_eng_mode_or_release))).run();
+ callback.result(new PumpEnactResult().success(false).enacted(false).comment(MainApp.gs(R.string.not_eng_mode_or_release))).run();
return false;
}
@@ -394,7 +394,7 @@ public class CommandQueue {
Notification notification = new Notification(Notification.BASAL_VALUE_BELOW_MINIMUM, MainApp.gs(R.string.basalvaluebelowminimum), Notification.URGENT);
MainApp.bus().post(new EventNewNotification(notification));
if (callback != null)
- callback.result(new PumpEnactResult().success(false).comment(MainApp.gs(R.string.basalvaluebelowminimum))).run();
+ callback.result(new PumpEnactResult().success(false).enacted(false).comment(MainApp.gs(R.string.basalvaluebelowminimum))).run();
return false;
}
}
diff --git a/app/src/main/java/info/nightscout/androidaps/queue/QueueThread.java b/app/src/main/java/info/nightscout/androidaps/queue/QueueThread.java
index c6aaab43b7..0962952221 100644
--- a/app/src/main/java/info/nightscout/androidaps/queue/QueueThread.java
+++ b/app/src/main/java/info/nightscout/androidaps/queue/QueueThread.java
@@ -18,6 +18,7 @@ import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin;
import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusprogressIfRunning;
import info.nightscout.androidaps.queue.events.EventQueueChanged;
import info.nightscout.androidaps.utils.SP;
+import info.nightscout.androidaps.utils.T;
/**
* Created by mike on 09.11.2017.
@@ -28,9 +29,8 @@ public class QueueThread extends Thread {
private CommandQueue queue;
- private long lastCommandTime = 0;
private boolean connectLogged = false;
- public boolean waitingForDisconnect = false;
+ boolean waitingForDisconnect = false;
private PowerManager.WakeLock mWakeLock;
@@ -41,14 +41,17 @@ public class QueueThread extends Thread {
Context context = MainApp.instance().getApplicationContext();
if (context != null) {
PowerManager powerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
- mWakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "QueueThread");
+ if (powerManager != null)
+ mWakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "AndroidAPS:QueueThread");
}
}
@Override
public final void run() {
- mWakeLock.acquire();
+ if (mWakeLock != null)
+ mWakeLock.acquire(T.mins(10).msecs());
MainApp.bus().post(new EventQueueChanged());
+ long lastCommandTime;
long connectionStartTime = lastCommandTime = System.currentTimeMillis();
try {
@@ -72,7 +75,7 @@ public class QueueThread extends Thread {
//BLUETOOTH-WATCHDOG
boolean watchdog = SP.getBoolean(R.string.key_btwatchdog, false);
- long last_watchdog = SP.getLong(R.string.key_btwatchdog_lastbark, 0l);
+ long last_watchdog = SP.getLong(R.string.key_btwatchdog_lastbark, 0L);
watchdog = watchdog && System.currentTimeMillis() - last_watchdog > (Constants.MIN_WATCHDOG_INTERVAL_IN_SECONDS * 1000);
if (watchdog) {
if (L.isEnabled(L.PUMPQUEUE))
@@ -170,7 +173,8 @@ public class QueueThread extends Thread {
}
}
} finally {
- mWakeLock.release();
+ if (mWakeLock != null)
+ mWakeLock.release();
if (L.isEnabled(L.PUMPQUEUE))
log.debug("thread end");
}
diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandBolus.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandBolus.java
index 1ce11dd359..4dc132e128 100644
--- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandBolus.java
+++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandBolus.java
@@ -8,7 +8,7 @@ import info.nightscout.androidaps.data.DetailedBolusInfo;
import info.nightscout.androidaps.data.PumpEnactResult;
import info.nightscout.androidaps.logging.L;
import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin;
-import info.nightscout.androidaps.plugins.general.overview.Dialogs.BolusProgressDialog;
+import info.nightscout.androidaps.plugins.general.overview.dialogs.BolusProgressDialog;
import info.nightscout.androidaps.plugins.general.overview.events.EventDismissBolusprogressIfRunning;
import info.nightscout.androidaps.queue.Callback;
import info.nightscout.androidaps.utils.DecimalFormatter;
diff --git a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveReceiver.java b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveReceiver.java
index d6d9bb5fcb..7a9aa31c46 100644
--- a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveReceiver.java
+++ b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveReceiver.java
@@ -7,15 +7,13 @@ import android.content.Context;
import android.content.Intent;
import android.os.PowerManager;
-import com.crashlytics.android.answers.CustomEvent;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.Constants;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.data.Profile;
-import info.nightscout.androidaps.events.EventProfileSwitchChange;
+import info.nightscout.androidaps.events.EventProfileNeedsUpdate;
import info.nightscout.androidaps.interfaces.PumpInterface;
import info.nightscout.androidaps.logging.L;
import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin;
@@ -46,13 +44,12 @@ public class KeepAliveReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent rIntent) {
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
- PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "");
+ PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "AndroidAPS:KeepAliveReciever");
wl.acquire();
LocalAlertUtils.shortenSnoozeInterval();
LocalAlertUtils.checkStaleBGAlert();
checkPump();
- FabricPrivacy.uploadDailyStats();
if (L.isEnabled(L.CORE))
log.debug("KeepAlive received");
@@ -76,7 +73,7 @@ public class KeepAliveReceiver extends BroadcastReceiver {
}
if (!pump.isThisProfileSet(profile) && !ConfigBuilderPlugin.getPlugin().getCommandQueue().isRunning(Command.CommandType.BASALPROFILE)) {
- MainApp.bus().post(new EventProfileSwitchChange());
+ MainApp.bus().post(new EventProfileNeedsUpdate());
} else if (isStatusOutdated && !pump.isBusy()) {
lastReadStatus = System.currentTimeMillis();
ConfigBuilderPlugin.getPlugin().getCommandQueue().readStatus("KeepAlive. Status outdated.", null);
@@ -87,7 +84,7 @@ public class KeepAliveReceiver extends BroadcastReceiver {
}
if (lastRun != 0 && System.currentTimeMillis() - lastRun > T.mins(10).msecs()) {
log.error("KeepAlive fail");
- FabricPrivacy.getInstance().logCustom(new CustomEvent("KeepAliveFail"));
+ FabricPrivacy.getInstance().logCustom("KeepAliveFail");
}
lastRun = System.currentTimeMillis();
}
diff --git a/app/src/main/java/info/nightscout/androidaps/receivers/SmsReceiver.java b/app/src/main/java/info/nightscout/androidaps/receivers/SmsReceiver.java
new file mode 100644
index 0000000000..f527375349
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/receivers/SmsReceiver.java
@@ -0,0 +1,7 @@
+package info.nightscout.androidaps.receivers;
+
+/**
+ * Forward received SMS intents. This is a separate class, because unlike local broadcasts handled by DataReceiver,
+ * receiving SMS requires a special permission in the manifest, which necessitates a separate receiver.
+ */
+public class SmsReceiver extends DataReceiver {}
diff --git a/app/src/main/java/info/nightscout/androidaps/services/AlarmSoundService.java b/app/src/main/java/info/nightscout/androidaps/services/AlarmSoundService.java
index e95cd7c479..4917789db1 100644
--- a/app/src/main/java/info/nightscout/androidaps/services/AlarmSoundService.java
+++ b/app/src/main/java/info/nightscout/androidaps/services/AlarmSoundService.java
@@ -75,8 +75,11 @@ public class AlarmSoundService extends Service {
@Override
public void onDestroy() {
- player.stop();
- player.release();
+ if (player != null) {
+ player.stop();
+ player.release();
+ }
+
if (L.isEnabled(L.CORE))
log.debug("onDestroy");
}
diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.java b/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.java
index 3dad4535ac..9049ad7463 100644
--- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.java
+++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SetupWizardActivity.java
@@ -22,7 +22,7 @@ import info.nightscout.androidaps.MainActivity;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.events.EventProfileStoreChanged;
-import info.nightscout.androidaps.events.EventProfileSwitchChange;
+import info.nightscout.androidaps.events.EventProfileNeedsUpdate;
import info.nightscout.androidaps.events.EventPumpStatusChanged;
import info.nightscout.androidaps.plugins.constraints.objectives.events.EventObjectivesSaved;
import info.nightscout.androidaps.plugins.general.nsclient.events.EventNSClientStatus;
@@ -115,7 +115,7 @@ public class SetupWizardActivity extends AppCompatActivity {
}
@Subscribe
- public void onEventProfileSwitchChange(EventProfileSwitchChange ignored) {
+ public void onEventProfileSwitchChange(EventProfileNeedsUpdate ignored) {
updateButtons();
}
diff --git a/app/src/main/java/info/nightscout/androidaps/utils/FabricPrivacy.java b/app/src/main/java/info/nightscout/androidaps/utils/FabricPrivacy.java
index 0a0d559c55..54f06bfaf0 100644
--- a/app/src/main/java/info/nightscout/androidaps/utils/FabricPrivacy.java
+++ b/app/src/main/java/info/nightscout/androidaps/utils/FabricPrivacy.java
@@ -1,16 +1,17 @@
package info.nightscout.androidaps.utils;
+import android.os.Bundle;
+
import com.crashlytics.android.Crashlytics;
-import com.crashlytics.android.answers.Answers;
-import com.crashlytics.android.answers.CustomEvent;
+import com.google.firebase.analytics.FirebaseAnalytics;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.BuildConfig;
-import info.nightscout.androidaps.Config;
import info.nightscout.androidaps.MainApp;
-import info.nightscout.androidaps.R;
-import info.nightscout.androidaps.interfaces.PluginBase;
-
-import java.util.Date;
+import info.nightscout.androidaps.logging.L;
+import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin;
/**
* Created by jamorham on 21/02/2018.
@@ -21,8 +22,8 @@ import java.util.Date;
*/
public class FabricPrivacy {
+ private static Logger log = LoggerFactory.getLogger(L.CORE);
- private static final String TAG = "FabricPrivacy";
private static volatile FabricPrivacy instance;
@@ -45,7 +46,8 @@ public class FabricPrivacy {
final Crashlytics crashlytics = Crashlytics.getInstance();
crashlytics.core.logException(throwable);
} catch (NullPointerException | IllegalStateException e) {
- android.util.Log.d(TAG, "Ignoring opted out non-initialized log: " + throwable);
+ if (L.isEnabled(L.CORE))
+ log.debug("Ignoring opted out non-initialized log: " + throwable);
}
}
@@ -55,7 +57,8 @@ public class FabricPrivacy {
final Crashlytics crashlytics = Crashlytics.getInstance();
crashlytics.core.log(msg);
} catch (NullPointerException | IllegalStateException e) {
- android.util.Log.d(TAG, "Ignoring opted out non-initialized log: " + msg);
+ if (L.isEnabled(L.CORE))
+ log.debug("Ignoring opted out non-initialized log: " + msg);
}
}
@@ -65,7 +68,8 @@ public class FabricPrivacy {
final Crashlytics crashlytics = Crashlytics.getInstance();
crashlytics.core.log(priority, tag, msg);
} catch (NullPointerException | IllegalStateException e) {
- android.util.Log.d(TAG, "Ignoring opted out non-initialized log: " + msg);
+ if (L.isEnabled(L.CORE))
+ log.debug("Ignoring opted out non-initialized log: " + msg);
}
}
@@ -73,68 +77,67 @@ public class FabricPrivacy {
return SP.getBoolean("enable_fabric", true);
}
- // Answers logCustom
- public void logCustom(CustomEvent event) {
+ // Analytics logCustom
+ public void logCustom(Bundle event) {
try {
- final Answers answers = Answers.getInstance();
if (fabricEnabled()) {
- answers.logCustom(event);
+ MainApp.getFirebaseAnalytics().logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, event);
} else {
- android.util.Log.d(TAG, "Ignoring recently opted-out event: " + event.toString());
+ if (L.isEnabled(L.CORE))
+ log.debug("Ignoring recently opted-out event: " + event.toString());
}
} catch (NullPointerException | IllegalStateException e) {
- android.util.Log.d(TAG, "Ignoring opted-out non-initialized event: " + event.toString());
+ if (L.isEnabled(L.CORE))
+ log.debug("Ignoring opted-out non-initialized event: " + event.toString());
}
}
- public static void uploadDailyStats() {
+ // Analytics logCustom
+ public void logCustom(String event) {
+ try {
+ if (fabricEnabled()) {
+ MainApp.getFirebaseAnalytics().logEvent(event, new Bundle());
+ } else {
+ if (L.isEnabled(L.CORE))
+ log.debug("Ignoring recently opted-out event: " + event);
+ }
+ } catch (NullPointerException | IllegalStateException e) {
+ if (L.isEnabled(L.CORE))
+ log.debug("Ignoring opted-out non-initialized event: " + event);
+ }
+ }
+
+ public static void setUserStats() {
if (!fabricEnabled()) return;
- long lastUploadDay = SP.getLong(MainApp.gs(R.string.key_plugin_stats_report_timestamp), 0L);
+ String closedLoopEnabled = MainApp.getConstraintChecker().isClosedLoopAllowed().value() ? "CLOSED_LOOP_ENABLED" : "CLOSED_LOOP_DISABLED";
+ // Size is limited to 36 chars
+ String remote = BuildConfig.REMOTE
+ .replace("https://","")
+ .replace("http://","")
+ .replace(".git", "")
+ .replace(".com/", ":")
+ .replace(".org/", ":")
+ .replace(".net/", ":");
- Date date = new Date();
- date.setHours(0);
- date.setMinutes(0);
- date.setSeconds(0);
- long today = date.getTime() - date.getTime() % 1000;
+ MainApp.getFirebaseAnalytics().setUserProperty("Mode", BuildConfig.APPLICATION_ID + "-" + closedLoopEnabled);
+ MainApp.getFirebaseAnalytics().setUserProperty("Language", LocaleHelper.getLanguage(MainApp.instance()));
+ MainApp.getFirebaseAnalytics().setUserProperty("Version", BuildConfig.VERSION);
+ MainApp.getFirebaseAnalytics().setUserProperty("HEAD", BuildConfig.HEAD);
+ MainApp.getFirebaseAnalytics().setUserProperty("Remote", remote);
+ if (ConfigBuilderPlugin.getPlugin().getActivePump() != null)
+ MainApp.getFirebaseAnalytics().setUserProperty("Pump", ConfigBuilderPlugin.getPlugin().getActivePump().getClass().getSimpleName());
+ if (ConfigBuilderPlugin.getPlugin().getActiveAPS() != null)
+ MainApp.getFirebaseAnalytics().setUserProperty("Aps", ConfigBuilderPlugin.getPlugin().getActiveAPS().getClass().getSimpleName());
+ if (ConfigBuilderPlugin.getPlugin().getActiveBgSource() != null)
+ MainApp.getFirebaseAnalytics().setUserProperty("BgSource", ConfigBuilderPlugin.getPlugin().getActiveBgSource().getClass().getSimpleName());
+ if (ConfigBuilderPlugin.getPlugin().getActiveProfileInterface() != null)
+ MainApp.getFirebaseAnalytics().setUserProperty("Profile", ConfigBuilderPlugin.getPlugin().getActiveProfileInterface().getClass().getSimpleName());
+ if (ConfigBuilderPlugin.getPlugin().getActiveSensitivity() != null)
+ MainApp.getFirebaseAnalytics().setUserProperty("Sensitivity", ConfigBuilderPlugin.getPlugin().getActiveSensitivity().getClass().getSimpleName());
+ if (ConfigBuilderPlugin.getPlugin().getActiveInsulin() != null)
+ MainApp.getFirebaseAnalytics().setUserProperty("Insulin", ConfigBuilderPlugin.getPlugin().getActiveInsulin().getClass().getSimpleName());
- if (today > lastUploadDay) {
- uploadAppUsageType();
- uploadPluginStats();
-
- SP.putLong(MainApp.gs(R.string.key_plugin_stats_report_timestamp), today);
- }
- }
-
- private static void uploadPluginStats() {
- CustomEvent pluginStats = new CustomEvent("PluginStats");
- pluginStats.putCustomAttribute("version", BuildConfig.VERSION);
- pluginStats.putCustomAttribute("HEAD", BuildConfig.HEAD);
- pluginStats.putCustomAttribute("language", SP.getString(R.string.key_language,"default"));
- for (PluginBase plugin : MainApp.getPluginsList()) {
- if (plugin.isEnabled(plugin.getType()) && !plugin.pluginDescription.alwaysEnabled) {
- // Fabric allows no more than 20 attributes attached to an event. By reporting disabled plugins as
- // well, we would exceed that threshold, so only report what is enabled
- // TODO >2.0: consider reworking this to upload an event per enabled plugin instead.
- pluginStats.putCustomAttribute(plugin.getClass().getSimpleName(), "enabled");
- }
- }
-
- getInstance().logCustom(pluginStats);
- }
-
- private static void uploadAppUsageType() {
- CustomEvent type = new CustomEvent("AppUsageType");
- if (Config.NSCLIENT)
- type.putCustomAttribute("type", "NSClient");
- else if (Config.PUMPCONTROL)
- type.putCustomAttribute("type", "PumpControl");
- else if (MainApp.getConstraintChecker().isClosedLoopAllowed().value())
- type.putCustomAttribute("type", "ClosedLoop");
- else
- type.putCustomAttribute("type", "OpenLoop");
-
- getInstance().logCustom(type);
}
}
diff --git a/app/src/main/java/info/nightscout/androidaps/utils/MidnightTime.java b/app/src/main/java/info/nightscout/androidaps/utils/MidnightTime.java
index 668ca02e96..235bb9c6e9 100644
--- a/app/src/main/java/info/nightscout/androidaps/utils/MidnightTime.java
+++ b/app/src/main/java/info/nightscout/androidaps/utils/MidnightTime.java
@@ -5,11 +5,13 @@ import android.util.LongSparseArray;
import java.util.Calendar;
public class MidnightTime {
- private static final LongSparseArray times = new LongSparseArray<>();
+ static final LongSparseArray times = new LongSparseArray<>();
private static long hits = 0;
private static long misses = 0;
+ private static final int THRESHOLD = 100000;
+
public static long calc() {
Calendar c = Calendar.getInstance();
c.set(Calendar.HOUR_OF_DAY, 0);
@@ -36,10 +38,17 @@ public class MidnightTime {
m = c.getTimeInMillis();
times.append(time, m);
++misses;
+ if (times.size() > THRESHOLD) resetCache();
}
return m;
}
+ static void resetCache() {
+ hits = 0;
+ misses = 0;
+ times.clear();
+ }
+
public static String log() {
return "Hits: " + hits + " misses: " + misses + " stored: " + times.size();
}
diff --git a/app/src/main/java/org/monkey/d/ruffy/ruffy/driver/display/menu/MenuDate.java b/app/src/main/java/org/monkey/d/ruffy/ruffy/driver/display/menu/MenuDate.java
index 05cc741413..6e3d54f3bb 100644
--- a/app/src/main/java/org/monkey/d/ruffy/ruffy/driver/display/menu/MenuDate.java
+++ b/app/src/main/java/org/monkey/d/ruffy/ruffy/driver/display/menu/MenuDate.java
@@ -1,5 +1,7 @@
package org.monkey.d.ruffy.ruffy.driver.display.menu;
+import java.util.Locale;
+
/**
* Created by fishermen21 on 24.05.17.
*/
@@ -30,6 +32,6 @@ public class MenuDate {
@Override
public String toString() {
- return day+"."+String.format("%02d",month)+".";
+ return day+"."+String.format(Locale.ENGLISH, "%02d",month)+".";
}
}
diff --git a/app/src/main/java/org/monkey/d/ruffy/ruffy/driver/display/menu/MenuTime.java b/app/src/main/java/org/monkey/d/ruffy/ruffy/driver/display/menu/MenuTime.java
index 147aafc8eb..356f9e5ddf 100644
--- a/app/src/main/java/org/monkey/d/ruffy/ruffy/driver/display/menu/MenuTime.java
+++ b/app/src/main/java/org/monkey/d/ruffy/ruffy/driver/display/menu/MenuTime.java
@@ -1,5 +1,7 @@
package org.monkey.d.ruffy.ruffy.driver.display.menu;
+import java.util.Locale;
+
/**
* Created by fishermen21 on 22.05.17.
*/
@@ -31,6 +33,6 @@ public class MenuTime {
@Override
public String toString() {
- return hour+":"+String.format("%02d",minute);
+ return hour+":"+String.format(Locale.ENGLISH, "%02d",minute);
}
}
diff --git a/app/src/main/res/layout/activity_insight_alert.xml b/app/src/main/res/layout/activity_insight_alert.xml
index 043fbaebe3..6bc3dc1565 100644
--- a/app/src/main/res/layout/activity_insight_alert.xml
+++ b/app/src/main/res/layout/activity_insight_alert.xml
@@ -1,6 +1,5 @@
diff --git a/app/src/main/res/layout/activity_logsetting.xml b/app/src/main/res/layout/activity_logsetting.xml
index 41ca05f95f..feee7bd38a 100644
--- a/app/src/main/res/layout/activity_logsetting.xml
+++ b/app/src/main/res/layout/activity_logsetting.xml
@@ -21,7 +21,7 @@
android:id="@+id/logsettings_placeholder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:orientation="vertical">
+ android:orientation="vertical" />
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index c0f382fbb8..94d7917e06 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -1,7 +1,6 @@
+ android:width="180dp"
+ android:inputType="text" />
diff --git a/app/src/main/res/layout/careportal_stats_fragment.xml b/app/src/main/res/layout/careportal_stats_fragment.xml
index 2162a2d502..2532a6f198 100644
--- a/app/src/main/res/layout/careportal_stats_fragment.xml
+++ b/app/src/main/res/layout/careportal_stats_fragment.xml
@@ -1,5 +1,4 @@
+ tools:context="info.nightscout.androidaps.plugins.pump.insight.LocalInsightFragment">
diff --git a/app/src/main/res/layout/overview_calibration_dialog.xml b/app/src/main/res/layout/overview_calibration_dialog.xml
index 66661a3b83..2b50ad88fb 100644
--- a/app/src/main/res/layout/overview_calibration_dialog.xml
+++ b/app/src/main/res/layout/overview_calibration_dialog.xml
@@ -1,10 +1,9 @@
+ tools:context=".plugins.general.overview.dialogs.CalibrationDialog">
+ tools:context=".plugins.general.overview.dialogs.EditQuickWizardDialog">
diff --git a/app/src/main/res/layout/overview_newcarbs_dialog.xml b/app/src/main/res/layout/overview_newcarbs_dialog.xml
index 65013b80df..67ae96354a 100644
--- a/app/src/main/res/layout/overview_newcarbs_dialog.xml
+++ b/app/src/main/res/layout/overview_newcarbs_dialog.xml
@@ -1,11 +1,10 @@
+ tools:context=".plugins.general.overview.dialogs.NewCarbsDialog">
+ tools:context=".plugins.general.overview.dialogs.NewInsulinDialog">
diff --git a/app/src/main/res/layout/overview_newtreatment_dialog.xml b/app/src/main/res/layout/overview_newtreatment_dialog.xml
index efb9c41aa5..4a899fbd9b 100644
--- a/app/src/main/res/layout/overview_newtreatment_dialog.xml
+++ b/app/src/main/res/layout/overview_newtreatment_dialog.xml
@@ -1,11 +1,10 @@
+ tools:context=".plugins.general.overview.dialogs.NewTreatmentDialog">
\ No newline at end of file
+ android:textColor="#FFFFFF" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/timelistedit_element.xml b/app/src/main/res/layout/timelistedit_element.xml
index c65fc0855b..b9e473d34e 100644
--- a/app/src/main/res/layout/timelistedit_element.xml
+++ b/app/src/main/res/layout/timelistedit_element.xml
@@ -1,5 +1,4 @@
Herstel databasisWil jy regtig die databasis herstel?Gaan uit
- Gebruik verlengde boluses vir >200%
+ Gebruik verlengde boluses vir >200%%DanaR Bluetooth-toestelGebruik altyd absolute basale aardesHerlaai jou foon of herlaai AndroidAPS met die stelsel instellings \nanders sal AndroidAPS nie geskiedenis hê nie! (Belangrik om te spoor en te verifieer dat die algoritmes korrek werk)!
@@ -54,6 +54,7 @@
Monitor en beheer AndroidAPS met jou WearOS horlosie.Wys informasie van jou loop op jou xDrip+ horlosie-gesig.Afstandbeheer AndroidAPS met SMS kodes.
+ TerugBeginVerifieerEenhede
@@ -265,6 +266,10 @@
Om %1$.2fU bolus te lewer antwoord met kode %2$sOm kalibrasie %1$.2f te stuur antwoord met kode %2$sBolus het misluk
+ Bolus %1$.2fU suksesvol afgelewer
+ Gaan %1$.2fU lewer
+ Bolus %1$.2fU suksesvol afgelewer
+ Lewering van %1$.2fULaat afstandbeheerde bevele toe via SMSVingerSensor
@@ -309,7 +314,7 @@
StaakSTAAK GEDRUKWag vir pomp
- Gaan %.2fU lewer
+ Gaan %1$.2fU lewerOpstel van visualisering en monitering, en ontleed basale en verhoudingsVerifieer dat BG beskikbaar is in Nightscout, en dat pomp insulien data opgelaai wordBegin op \'n oop lus
@@ -332,13 +337,26 @@
Loop is gedeaktiveerLus geaktiveer%1$.2f beperk tot %2$.2f
- Waarde %s is uit harde perke
+ Waarde %1$s is uit harde perkeAfstandbeheerde bevel word nie toegelaat nie
+ Afstandbeheerde bolus nie beskikbaar nie. Probeer later weer.
+ Om %1$.2fU basale vir %2$d min te aktiveer antwoord met kode %3$s
+ Om profiel te verander na %1$s %2$d%% antwoord met %3$s
+ Om bolus %1$.2fU vir %2$d min te verleng kies %3$s
+ Om basal e %1$d%% vir %2$d min te begin kies %3$sOm lus op te skort vir %1$d minute antwoord met kode %2$sTemp basale %1$.2fU/h vir %2$d min suksesvol geaktiveerd
+ Verlengde bolus %1$.2fU vir %2$d min is begin
+ Tydelike basale %1$d%% vir %2$d min hardloopTydelike basale aktivering het gefaal
+ Verlengde bolus het misluk
+ Stop tydelike basale antwoord met kode %1$s
+ Stop tydelike basale antwoord met kode %1$sTydelike basale gekanselleer
+ Verlengde bolus gekanselleerKansellassie van tydelike basale het gefaal
+ Kansellasie van verlengde bolus het misluk
+ Onbekende opdrag of verkeerde opsieSlimNutsmanSlimNutsman instellingsKnoppie teks:
@@ -446,7 +464,7 @@
ProfielVerstek waarde: 3 dit is \'n sleutel OpenAPS veiligheidsdrumpels. Wat dit doen is om jou basale te berk tot 3 x (in hierdie mense) jou grootste basale koers. Jy sal waarskynlik nooit dit hoef te verander, maar jy moet bewus wees wat bespreek is oor \"3 x max daaglikse; 4 x huidige\"vir veiligheidsdrumpels.Verstek waarde: 4 dit is die helfte van die sleutel OpenAPS veiligheid limiete, en die ander helfte van \"3 x maks daaglikse; 4 x huidige\"van die veiligheid limiet. Dit beteken jou basale, ongeag max basale stel op jou pomp, kan enige hoër wees as hierdie nommer tye die huidige vlak van jou basale. Dit is om te verhoed dat mense in gevaarlike gebied deur instelling buitensporig hoë max basals voor om te verstaan hoe die algoritme werk. Weer, die verstek is 4 x; die meeste mense sal nooit moet dit aanpas en is eerder meer geneig om te moet aanpas ander instellings as hulle voel hulle \"loop in\" hierdie veiligheid limiet.
- Verstek waarde: 1.2\nThis is \'n vermenigvuldiger cap vir autosens (en gou autotune) stel \'n 20% max limiet op hoe hoog die autosens verhouding kan wees, wat op sy beurt bepaal hoe hoog autosens basale kan aanpas, hoe laag dit ISF kan aanpas, en hoe laag dit die BG teiken kan stel.
+ Verstek waarde: 1.2\nThis is \'n vermenigvuldiger plafon vir autosens (en gou autotune) stel \'n 20%% max limiet op hoe hoog die autosens verhouding kan wees, wat op sy beurt bepaal hoe hoog autosens basale kan aanpas, hoe laag dit ISF kan aanpas, en hoe laag dit die BG teiken kan stel.Verstek waarde: 0.7\nDie ander kant van die autosens veiligheidsperke, sit \'n limiet op hoe laag autosens basals kan aanpas, en hoe hoog dit ISF en BG teikens kan verstel.Autosens Verstel doelwitte ookVerstek waarde: waar\nDit word gebruik om autosens toe te laat om BG teikens aan te pas, benewens ISF en basale.
@@ -459,7 +477,7 @@
Telefoonnommer ongeldigOngeldige SMS selfoon nommerKalibrasie
- Stuur kalibrasie %.1f to xDrip?
+ Stuur kalibrasie %1$.1f na xDrip?xDrip + nie geïnstalleerd nieKalibrasie gestuur na xDripKalibrasie gestuur. Ontvang moet geaktiveer word in xDrip.
@@ -600,7 +618,7 @@
Absorpsie instellingsMaaltyd max\ks absorpsie tyd [h]Tyd in ure waarna verwag word dat alle koolhidrate uit maaltyd geabsorbeer sal wees
- Visualiseer verlengde bolus as %
+ Visualiseer verlengde bolus as %%SAGEIAGECAGE
@@ -713,8 +731,8 @@
Stuur BG data na xDrip+Xdrip+ kies 640g/Eversense data bronNSClient BG
- Basale waarde vervang deur minimum ondersteunde waarde: %s
- Basale waarde vervang deur maksimum ondersteunde waarde: %s
+ Basale waarde vervang deur minimum ondersteunde waarde: %1$s
+ Basale waarde vervang deur maksimum ondersteunde waarde: %1$sBG berekeningBolus IAB berekeningBasale IAB berekening
@@ -732,8 +750,8 @@
Geslote modus geaktiveerMaksimum IAB behoorlik gestelBG beskikbaar vanaf geselekteerde bron
- Basale waardes nie in lyn met ure: %s
- Ongeldige profiel: %s
+ Basale waardes nie in lyn met ure: %1$s
+ Ongeldige profiel: %1$sProgrammeer pomp vir bolusingVerfrisStaat
@@ -1069,12 +1087,13 @@
DempPomp alarmLog ligging veranderings
+ Log stoor veranderingeLog voerpyp veranderingLog battery veranderingLog bedryf modus veranderingeLog alarmsSkakel TBR emulasie aan
- Gebruik uitgebreide boluses in plaas van TBRs om die 250% perk te omseil
+ Gebruik verlengde boluses in plaas van TBRs om die 250%% perk te omseilOntkoppel vertraging [s]ReeksnommerVrygestelde sagteware weergawe
@@ -1130,8 +1149,13 @@
Tomato (MiaoMiao)TomatoDaglig spaar tyd verandering in 24 h of minder
+ Daglig spaar tyd het verander minder as 3 ure terug - Geslote lus afgeskakelinterne berging beperkingBevry ten minste %1$d MB van intene stoorspasie! Lus gedeaktiveer!
+ Verkeerde formaat
+ Verkeerde kode. Opdrag gekanselleer.
+ Nie gekonfigureer nie
+ Profiel skakelaar geskep%1$d dae%1$d dae
diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml
index 7e381a49fb..61b87d0f13 100644
--- a/app/src/main/res/values-bg/strings.xml
+++ b/app/src/main/res/values-bg/strings.xml
@@ -9,7 +9,7 @@
Нулирай базата данниСигурни ли сте че искате да изтриете всички данни?Изход
- Използвай удължен болус за над 200%
+ Използвай удължени болуси при над >200%%DanaR Bluetooth устройствоИзползване на абсолютни стойности за базалРестартирайте телефона или AndroidAPS от системните настройки или Android APS няма да записва проблемите (което е важно за работата на алгоритъма)!
@@ -266,6 +266,10 @@
За да доставите болус от %1$.2fЕ отговорете с код %2$sЗа да изпратите калибрация %1$.2f отговорете с код %2$sБолус отказан
+ Болус от %1$.2fЕ доставен успешно
+ Ще стартира %1$.2fЕ болус
+ Болус от %1$.2fЕ доставен успешно
+ Стартирам %1$.2fЕПозволи отдалечени команди чрез SMSПръстСензор
@@ -310,7 +314,7 @@
СприНатиснат е СТОП!Очаква помпата
- Ще достави %.2fЕ
+ Ще стартира %1$.2fЕ болусНастройка на визуализацията и наблюдението, а също и анализиране на базалните нужди и коефициентиПотвърждаване, че КЗ е достъпна в Найтскаут и данните за помпата се качват тамСтартиране в режим Отворен кръг (Open loop)
@@ -333,13 +337,26 @@
APS е изключенAPS е включен%1$.2f ограничен до %2$.2f
- Стойността %s е извън границите
+ Стойността %1$s е извън ограничениятаОтдалеченото управление е забранено
+ Отдалечено стартиране на болус не е възможно. Опитайте отново по-късно.
+ За да стартирате базал от %1$.2fЕ/ч за %2$d мин отговорете с код %3$s
+ За да превключите профила към %1$s %2$d%% отговорете с код %3$s
+ За да започнете удължен болус %1$.2fЕ за %2$d мин отговорете с код %3$s
+ За да стартирате базал от %1$d%Е/ч за %2$d мин отговорете с код %3$sЗа да спрете APS за %1$d минути отговорете с код %2$sВременен базал от %1$.2fЕ/ч за %2$d мин стартиран успешно
+ Удължен болус %1$.2fU за %2$d мин стартиран успешно
+ Временен базал от %1$d%Е/ч за %2$d мин стартиран успешноНеуспешно стартиране на временен базал
+ Неуспешно стартиране на удължен болус
+ За да спрете времен базал отговорете с код %1$s
+ За да спрете удължения болус отговорете с код %1$sВременният базал е отменен
+ Удължен болус спрянСпирането на временния базал е неуспешно
+ Неуспешно спиране на удължен болус
+ Непозната команда или грешен отговорБърз болусНастройки за бърз болусТекст на бутона:
@@ -447,7 +464,7 @@
ПрофилПо подразбиране: 3 Това е основен параметър в сигурността на OpenAPS. Той ограничава максималният базал да бъде 3 пъти най-голямата стойност от дневните базали. Не би трябвало да има нужа от промяна, защото от опит сме проверили, че максимумите са “3x от най-високия дневен; 4x от текущия”.По подразбиране: 4\nТова е другият основен параметър в сигурността на OpenAPS, и другата половина от \"3x от най-високия дневен; 4x от текущия\". Това означава, че независимо от макс базал настроен в помпата, стойността на базала не може да е по-висока от тази стойност умножена по стойността на базала за текущият час от денонощието. Това е с цел да предпази от прекалено високи стойности на максималния базал преди да разбират как работи алгоритъма. Повечето от Вас няма да имат нужда от смяна на тази стойност и могат да се справят с настойки на другите параметри.
- По подразбиране: 1.2\nТова е максималният множител на autosens (а скоро autotune) за да позволи 20% максимален лимит на autosens коефициента, който от своя страна настройва базалите, колко може да намали ISF, и колко ниско може да свали целевата КЗ.
+ По подразбиране: 1.2\nТова е максималният множител на autosens (а скоро autotune), за да позволи 20%% максимален лимит на autosens коефициента, който от своя страна настройва базалите, колко може да намали инсулиновата чувствителност, и колко ниско може да свали целевата КЗ.По подразбиране: 0.7\nДругата част от сигурността на autosens, слагайки ограничение на колко ниско може да ограничи базалите, колко да повиши чувствителността (ISF) и целевите КЗ.Да променя ли autosens и целевата КЗПо подразбиране: разрешено\nТова позволява на autosens да променя и целевите КЗ(освен чувствителност и базал).
@@ -460,7 +477,7 @@
Телефонният номер не е валиденГрешен тел номер за SMSКалибрация
- Изпрати калибрация %.1f към xDrip?
+ Изпрати калибрация %1$.1f към xDrip?xDrip+ не е инсталиранКалибрацията е изпратена към xDripНеуспешно. Получаването трябва да е разрешено в xDrip.
@@ -601,7 +618,7 @@
Настройки за абсорбцияМаксимално време за усвояване на храненето [ч]Брой часове, за които се очаква храненето да бъде напълно усвоено в организма
- Показвай удължените болуси като %
+ Показвай удължените болуси като %%ВСензВИнсВКан
@@ -714,8 +731,8 @@
Изпращай данни за КЗ към xDrip+В xDrip+ изберете 640g/Eversense за източник на данниКЗ от NS
- Базалната стойност е заместена от минимално поддържаната стойност %s
- Базалната стойност е заместена от максимално поддържаната стойност %s
+ Базалната стойност е заместена от минимално поддържаната стойност %1$s
+ Базалната стойност е заместена от максимално поддържаната стойност %1$sКалкулиране на КЗКалкулиране на Болус IOBКалкулиране на базален IOB
@@ -733,8 +750,8 @@
APS - Затворен кръг е позволенМаксимален IOB е зададен правилноИма данни за КЗ от избрания източник
- Няма базални стойности за някои часове: %s
- Невалиден профил: %s
+ Базалните стойности не са за кръгли часове: %1$s
+ Грешен профил: %1$sПрограмиране на помпа за болусОбновиСъстояние
@@ -1070,12 +1087,13 @@
Без звукАларма на помпатаЗаписвай смяната на местата
+ Записвай смените на резервоарЗаписвай смените на резервоарЗаписвай смяната на батерияЗаписвай промените в режимаЗаписвай алармиРазреши емулация на временни базали
- Използвайте разширената болуси вместо временни базали да се заобиколи ограничението от 250 %
+ Използвайте удължени болуси вместо временни базали да се заобиколи ограничението от 250%%Забавяне при прекъсване на връзката [сек]Сериен номерСофтуер версия
@@ -1131,8 +1149,13 @@
Tomato(MяоМяо)TomatoСмяна на времето след по-малко от 24ч
+ Смяна на времето след по-малко от 3 часа - минавам в отворен режимОграничение поради липса на паметОсвободете поне %1$d Мб в паметта на телефона! Loop изключен!
+ Грешен формат
+ Грешен код. Командата не е изпълнена.
+ Не е конфигуриран
+ Създаден запис - Промяна на профил%1$d дeн%1$d дни
diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index b22c883f5b..61864568d3 100644
--- a/app/src/main/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
@@ -9,7 +9,7 @@
Inicializovat databázeOpravdu resetovat všechny databáze?Konec
- Použít prodloužené bolusy pro >200%
+ Použít prodloužené bolusy pro >200%%DanaR Bluetooth zařízeníVždy použít absolutní hodnoty bazáluProsím restartujte Váš telefon nebo restartujte AndroidAPS z nastavení systému\njinak nebudou zaznamenány ladící informace (důležité pro sledování a kontrolu, zda algoritmus pracuje správně)!
@@ -314,7 +314,7 @@
StopSTISKNUTO STOPČekání na pumpu
- Podávání %.2fU inzulínu
+ Podávání %1$.2fU inzulínuNastavit vizualizaci a monitoring, analyzovat bazály a koeficientyZkontrolovat, zda jsou glykémie a údaje z pumpy viditelné v NightscoutuZačít s otevřenou smyčkou
@@ -337,7 +337,7 @@
Smyčka je zakázánaSmyčka je povolena%1$.2f omezeno na %2$.2f
- Hodnota %s je mimo přednastavený rozsah
+ Hodnota %1$s je mimo přednastavený rozsahVzdálený příkaz není povolenVzdálený bolus není momentálně povolen. Zkuste to později.Pro spuštění bazálu %1$.2fU/h na %2$d min odpovězte SMS s kódem %3$s
@@ -464,8 +464,8 @@
ProfilVýchozí hodnota: 3 Toto je klíčová hodnota zabezpečení. Říká, že maximální nastavitelný bazál je trojnásobkem maximálního denního bazálu. Patrně to nebudete muset měnit, případně si přečtete o tématu \"3x max denní; 4x aktuální\".Výchozí hodnota: 4 Toto je druhá klíčová hodnota. Říká, že maximální hodnota dočasného bazálu nikdy nebude větší, než čtyřnásobek aktuálního bazálu. Je to proto, aby se lidé nedostali do nebezpečných hodnot dříve, než pochopí jak OpenAPS pracuje. Znovu, výchozí hodnota je 4 a většina lidí ji nikdy nebude muset změnit. Pokud nestačí, obvykle je problém někde jinde.
- Výchozí hodnota: 1.2 Toto je bezpečnostní nastavení pro detekci sensitivity. Říká, že autosens může zvýšit bazály, snížit ISF a snížit cílovou hodnotu glykémie o 20%
- Výchozí hodnota: 0.7 Toto je bezpečnostní nastavení pro detekci sensitivity. Říká, že autosens může snížit bazály, zvýšit ISF a zvýšit cílovou hodnotu glykémie na 70%
+ Výchozí hodnota: 1.2\nToto je bezpečnostní nastavení pro detekci sensitivity (a brzy autotune). Říká, že autosens může zvýšit bazály, snížit ISF a snížit cílovou hodnotu glykémie o 20%%.
+ Výchozí hodnota: 0.7\nToto je bezpečnostní nastavení pro detekci sensitivity. Říká, že autosens může snížit bazály, zvýšit ISF a zvýšit cílovou hodnotu glykémie na 70%%.Úprava cílové glykémie pomocí AutosensVýchozí hodnota: zapnuto\nToto nastavení říká, že autosens může měnit také cílové hodnoty glykémií.Výchozí hodnota: 2\nToto nastavení říká, po jakou část z hodnoty DIA smyčka po bolusu čeká a nereaguje na změny glykémií (zde 3DIA/2 = 1,5h).
@@ -477,7 +477,7 @@
Neplatné telefonní čísloŠpatné telefonní čísloKalibrace
- Poslat do xDripu kalibraci %.1f ?
+ Poslat do xDripu kalibraci %1$.1f?xDrip+ není nainstalovánKalibrace odeslána do xDripuKalibrace odeslána. Příjem musí být v xDripu povolený.
@@ -618,7 +618,7 @@
Nastavení absorpce sacharidůMax. doba absorpce sacharidů [h]Čas v hodinách, ve kterém předpokládáme, že všechny sacharidy budou strávené
- Zobrazovat prodloužený bolus v %
+ Zobrazovat prodloužený bolus v %%SENINZKAN
@@ -731,8 +731,8 @@
Odesílat data do xDrip+V xDrip+ vyberte zdroj dat 640g/EversenseGlykémie z NS
- Hodnota bazálu nahrazena minimální možnou: %s
- Hodnota bazálu nahrazena maximální možnou: %s
+ Hodnota bazálu nahrazena minimální možnou: %1$s
+ Hodnota bazálu nahrazena maximální možnou: %1$sKalkulace glykémieKalkulace bolusového IOBKalkulace bazálního IOB
@@ -750,8 +750,8 @@
Uzavřená smyčka povolenaMaximální IOB nastaveno správněGlykémie dostupné z vybraného zdroje
- Bazální hodnoty nejsou zarovnané na celé hodiny: %s
- Chybný profil: %s
+ Bazální hodnoty nejsou zarovnané na celé hodiny: %1$s
+ Chybný profil: %1$sProgramování pumpy pro bolusObnovitStav
@@ -1087,12 +1087,13 @@
ZtlumitVýstraha pumpyZaznamenat výměnu kanyly
+ Zaznamenat výměnu zásobníkuZaznamenat výměnu hadičkyZaznamenat výměnu baterieZaznamenat změnu režimu provozuZaznamenat výstrahyPovolit emulaci dočasných bazálů
- Používat prodloužené bolusy na obejití limitu dočasných bázalů 250%
+ Používat prodloužené bolusy na obejití limitu dočasných bazálů 250%%Limit pro odpojení [s]Sériové čísloVerze softwaru
@@ -1148,6 +1149,7 @@
Tomato (MiaoMiao)TomatoZměna letního času za méně než 24 hodin
+ Změna letního času za méně než 3 hodiny - Uzavřená smyčka zastavenaomezení vnitřního úložištěUvolněte alespoň %1$d MB z vnitřního úložiště! Smyčka zakázána!Chybný formát
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 36c24aeed9..ed46e6a8ea 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -9,7 +9,7 @@
Datenbanken zurücksetzenMöchtest du die Datenbank wirklich zurücksetzen?Schließen
- Benutze verzögerten Bolus für hohe TBR (>200%).
+ Benutze verzögerten Bolus für hohe TBR >200%%DanaR Blueetooth--GerätVerwende absolute statt prozentuale Basalwerte beim Upload zu NightScout.Bitte starte dein Telefon neu oder starte AndroidAPS in den System-Einstellungen neu.\nAndernfalls wird AndroidAPS nichts protokollieren (wichtig zum Nachverfolgen und Verifizieren, dass der Algorithmus korrekt funktioniert)!
@@ -266,6 +266,10 @@
Um einen Bolus von %1$.2f IE abzugeben, antworte mit dem Code %2$s.Um die Kalibrierung %1$.2f zu senden, antworte mit dem Code %2$s.Bolus fehlgeschlagen
+ Bolus %1$.2fU erfolgreich abgegeben
+ Werde %1$.2fU abgeben
+ Bolus %1$.2fU erfolgreich abgegeben
+ Gebe %1$.2fU abErlaube externe Befehle per SMSFingerSensor
@@ -310,7 +314,7 @@
StoppSTOPP GEDRÜCKTWarte auf Pumpe
- %1$.2f IE werden abgegeben.
+ Werde %1$.2fU abgebenKonfiguriere die Anzeige und das Monitoring (Nightscout) und analysiere Basal-Raten und FaktorenVerifiziere, dass BZ- und Pumpen-Insulin-Daten erfolgreich zu Nightscout hochgeladen werden.Starte den Open Loop Modus
@@ -334,13 +338,26 @@ maxIOB = durchschnittlicher Essensbolus + 3 x maximale BasalrateLoop ist deaktiviert.Loop ist aktiviert.%1$.2f limitiert auf %2$.2f
- Wert %1$s ist außerhalb des festen Limits.
+ Wert %1$s ist außerhalb des festen Limits.Ferngesteuerte Befehle sind nicht erlaubt.
+ Bolusabgabe aus der Ferne nicht verfügbar. Versuche es später erneut.
+ Um eine Basalrate von %1$.2fU/h für %2$d Minuten zu setzen, antworte mit dem Code %3$s
+ Um das Profil auf %1$s %2$d%% zu setzen, antworte mit dem Code %3$s
+ Um den erweiterten Bolus %1$.2fU für %2$d Minuten abzugeben, antworte mit dem Code %3$s
+ Um die Basalrate von %1$d%% für %2$d Minuten zu setzen, antworte mit dem Code %3$sUm das Loopen für %1$d Minuten zu pausieren, antworte mit dem Code %2$s.TBR mit %1$.2f IE/h für %2$d min wurde erfolgreich gestartet.
+ Der erweiterte Bolus %1$.2fU für %2$d Minuten wurde erfolgreich gestartet
+ Die temporäre Basalrate wurde erfolgreich für %2$d Minuten auf %1$d%% gesetztDas Starten der TBR ist fehlgeschlagen.
+ Die Abgabe des erweiterten Bolus ist fehlgeschlagen
+ Antworte mit dem Code %1$s, um die temporäre Basalrate zu beenden
+ Antworte mit dem Code %1$s, um den erweiterten Bolus zu beendenTBR abgebrochen
+ Die Abgabe des erweiterten Bolus wurde abgebrochenDas Abbrechen der TBR ist fehlgeschlagen.
+ Der Abbruch des erweiterten Bolus ist fehlgeschlagen
+ Unbekannter Befehl oder falsche AntwortQuickWizardQuickWizard-EinstellungenSchaltflächen-Text:
@@ -448,7 +465,7 @@ maxIOB = durchschnittlicher Essensbolus + 3 x maximale BasalrateProfilStandardwert: 3\nDies ist eine wichtige Sicherheitseinstellung. Sie begrenzt das maximale Basal-IOB auf die dreifache Menge (im Standardfall) deiner größten Basalrate. In der Regel solltest Du diesen Wert nicht ändern. Aber Du solltest wissen, was \"3x max daily, 4x current\" als Sicherheitseinstellung bedeutet.Standardwert: 4\nDies ist die andere wichtige Sicherheitseinstellung, die zweite Hälfte von \"3x max daily, 4x current\". Diese Grenze beschränkt das Basal-IOB auf die (im Standardfall) vierfache Menge der aktuellen Basalrate. Dies ist wichtig, um Nutzer davor zu bewahren, zuviel Basal-Insulin zu verabreichen. Nochmals, der Standardwert ist 4x. Die meisten Nutzer werden niemals diese Einstellung verändern, sondern andere Einstellungen anpassen, um sich nicht dieser Sicherheitsgrenze zu nähern.
- Standardwert: 1.2\nDies ist eine Sicherheitsgrenze für Autosens (und bald auch Autotune), die besagt, wie hoch Autosens Basalraten anpassen darf und wie niedrig der ISF (Insulin-Sensitivitäts-Faktor) und der BZ-Zielwert eingestellt werden können. 1.2 ist dabei der Multiplikationsfaktor und erlaubt eine Anpassung um 20%.
+ Standardwert: 1.2\nDies ist eine Sicherheitsgrenze für Autosens (und bald auch Autotune), die besagt, wie hoch Autosens Basalraten anpassen darf und wie niedrig der ISF (Insulin-Sensitivitäts-Faktor) und der BZ-Zielwert eingestellt werden können. 1.2 ist dabei der Multiplikationsfaktor und erlaubt eine Anpassung um 20%%.Standardwert: 0.7\nDies ist die andere Sicherheitsgrenze für autosens. Sie beschränkt, wie weit Basalraten abgesenkt und wie sehr ISF und BZ-Zielwerte erhöht werden können.Autosens passt Zielwerte ebenfalls anVorgabe: erlaubt.\nErlaubt Autosens den Ziel-BZ-Bereich in Verbindung mit ISF und Basal anzupassen.
@@ -461,7 +478,7 @@ maxIOB = durchschnittlicher Essensbolus + 3 x maximale Basalrate
Telefonnummer ist nicht gültigFalsche/ungültige TelefonnummerKalibrierung
- Kalibrierung %1$.1f an xDrip+ senden?
+ Kalibrierung %1$.1f an xDrip+ senden?xDrip+ nicht installiertKalibrierung an xDrip+ gesendetKalibrierung gesendet. Das Empfangen von Kalbrierungen muss in xDrip+ aktiviert sein.
@@ -602,7 +619,7 @@ maxIOB = durchschnittlicher Essensbolus + 3 x maximale Basalrate
Resorptions-EinstellungenMaximale Essens-Resorptionszeit [h]Zeit in Stunden, in der zu erwarten ist, dass alle Kohlenhydrate resorbiert sein werden.
- Zeige verzögerten Bolus als % an.
+ Zeige verzögerten Bolus als %% an.SAGEIAGECAGE
@@ -715,8 +732,8 @@ maxIOB = durchschnittlicher Essensbolus + 3 x maximale Basalrate
Sende BZ-Werte zu xDrip+Wähle in xDrip+ 640g/Eversense als Daten-Quelle.Nightscout-Client BZ
- Basal-Wert wurde durch den kleinst möglichen Wert ersetzt: %s
- Basal-Wert wurde durch größt möglichen Wert ersetzt: %s
+ Basal-Wert wurde durch den kleinst möglichen Wert ersetzt: %1$s
+ Basal-Wert wurde durch größt möglichen Wert ersetzt: %1$sBZ BerechnungBolus-IOB BerechnungBasal-IOB Berechnung
@@ -734,8 +751,8 @@ maxIOB = durchschnittlicher Essensbolus + 3 x maximale Basalrate
Closed mode aktiviertMaximales IOB richtig gesetztBZ verfügbar von gewählter Quelle
- Basalraten beginnen nicht zur vollen Stunde: %s
- Ungültiges Profil: %s
+ Basalraten beginnen nicht zur vollen Stunde: %1$s
+ Ungültiges Profil: %1$sBolusabgabe wird vorbereitetAktualisierenStatus
@@ -1072,12 +1089,13 @@ Unerwartetes Verhalten.
StummPumpenalarmKatheterwechsel protokollieren
+ Reservoirwechsel aufzeichnenSchlauchwechsel protokollierenBatteriewechsel protokollierenWechsel des Betriebsmodus protokollierenAlarme protokollierenTBR-Emulation aktivieren
- Verzögerte Boli an Stelle von TBRs verwenden, um die Beschränkung auf 250% zu umgehen
+ Verzögerte Boli an Stelle von TBRs verwenden, um die Beschränkung auf 250%% zu umgehenVerbindungsabbau-Verzögerung [s]SeriennummerRelease-Softwareversion
@@ -1133,8 +1151,13 @@ Unerwartetes Verhalten.
Tomato (MiaoMiao)TomatoZeitumstellung in weniger als 24 Stunden
+ Zeitumstellung vor weniger als 3 Stunden - Closed Loop deaktiviertinterne SpeicherbegrenzungMindestens %1$d MB freier interer Speicher benötigt! Loop abgeschaltet!
+ Falsches Format
+ Falscher Code. Befehl wurde abgebrochen.
+ Nicht konfiguriert
+ Profilwechsel wurde erstellt%1$d Tag%1$d Tage
diff --git a/app/src/main/res/values-el/insight_alert_codes.xml b/app/src/main/res/values-el/insight_alert_codes.xml
index 70489fbc5e..7ee9fdc8f9 100644
--- a/app/src/main/res/values-el/insight_alert_codes.xml
+++ b/app/src/main/res/values-el/insight_alert_codes.xml
@@ -1,3 +1,30 @@
-
+
+ Υπενθύμιση R1
+ Υπενθύμιση R2
+ Υπενθύμιση R3
+ Υπενθύμιση R4
+ Υπενθύμιση R7
+ Προειδοποίηση W31
+ Προειδοποίηση W32
+ Προειδοποίηση W33
+ Προειδοποίηση W34
+ Προειδοποίηση W36
+ Προειδοποίηση W38
+ Προειδοποίηση W39
+ Συντήρηση M20
+ Συντήρηση M21
+ Συντήρηση M22
+ Συντήρηση M23
+ Συντήρηση M24
+ Συντήρηση M25
+ Συντήρηση M26
+ Συντήρηση M27
+ Συντήρηση M28
+ Συντήρηση M29
+ Συντήρηση M30
+ Σφάλμα E6
+ Σφάλμα E10
+ Σφάλμα E13
+
diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml
index 07bbadfa95..155afd10d0 100644
--- a/app/src/main/res/values-el/strings.xml
+++ b/app/src/main/res/values-el/strings.xml
@@ -9,7 +9,7 @@
Επαναφορά Βάσεων ΔεδομένωνΘέλετε πραγματικά να επαναφέρετε την βάση δεδομένων;Έξοδος
- Χρήση Εκτεταμένου Bolus για >200%
+ Χρησιμοποιήστε Εκτεταμένο bolus για >200%%DanaR συσκευή BluetoothΧρησιμοποιείτε πάντα απόλυτες τιμές βασικούΠαρακαλώ κάντε επανεκίνηση στο τηλέφώνο ή restart στο AndroidAPS από τις Ρυθμίσεις Συστήματος, \nαλλιώς το AndroidAPS δεν θα έχει καταγραφή (επαληθεύστε ότι οι αλγόριθμοι δουλεύουν σωστά)!
@@ -44,6 +44,8 @@
Η ευαισθησία υπολογίζεται από 8h δεδομένα στο παρελθόν και οι υδατάνθρακες (αν δεν έχουν απορροφηθεί) κόβονται μετά από χρονικό διάστημα που καθορίζεται στις επιλογές. Η προσθήκη υπολογίζει ακόμα το UAM.Η ευαισθησία υπολογίζεται ως ο σταθμισμένος μέσος όρος των αποκλίσεων. Νεότερες αποκλίσεις έχουν μεγαλύτερο βάρος. Η ελάχιστη απορρόφηση υδατανθράκων υπολογίζεται από τον χρόνο της μέγιστης απορρόφησης υδατανθράκων από τις επιλογές. Αυτός ο αλγόριθμος είναι ο πιο γρήγορος για να ακολουθεί τις αλλαγές της ευαισθησίας.Λάβετε τις τιμές BG από την εφαρμογή του Dexcom G5.
+ Λάβετε τις τιμές BG από την εφαρμογή του Dexcom G6.
+ Λάβετε τις τιμές BG από την εφαρμογή του Eversense.Λάβετε τις τιμές BG από το Glimp.Λάβετε τις τιμές BG από το 600SeriesAndroidUploader.Λήψη δεδομένων BG από Nightscout
@@ -52,6 +54,7 @@
Παρακολουθεί και ελέγχει το AndroidAPS χρησιμοποιώντας το ρολόι σας WearOS.Δείτε πληροφορίες σχετικά με το κύκλωμά σας στην πρόσοψη xDrip +.Ελεγξτε απομακρυσμένα το AndroidAPS χρησιμοποιώντας τις εντολές SMS.
+ ΠίσωΈναρξηΕπικύρωσηΜονάδες
@@ -263,6 +266,10 @@
Για έγχυση bolus %1$.2fU στείλτε με κωδικό %2$sΓια αποστολή καλιμπραρίσματος %1$.2f στείλτε με κωδικό %2$sΑποτυχία Bolus
+ Bolus %1$.2fU δόθηκε επιτυχώς
+ Προς έγχυση %1$.2fU
+ Bolus %1$.2fU δόθηκε επιτυχώς
+ Εγχύεται %1$.2fUΆδεια για απομακρυσμένες εντολές μέσω SMSΔάκτυλοΑισθητήρας
@@ -307,7 +314,7 @@
StopΠιέστε STOPΑναμονή για αντλία
- Προς έγχυση %.2fU
+ Προς έγχυση %1$.2fUΔημιουργία παρακολούθησης και ανάλυση βασικού ρυθμού και αναλογιώνΕπιβεβαιώστε ότι η BG φαίνεται στο Nightscout και τα δεδομένα της αντλίας φορτώθηκανΞεκινήστε σε ανοιχτό κύκλωμα
@@ -330,13 +337,26 @@
Κύκλωμα απενεργοποιημένοΚύκλωμα ενεργοποιημένοΤο %1$.2f περιορίζεται σε %2$.2f
- Η τιμή %s είναι έξω από τα όρια
+ Η τιμή %1$s είναι έξω από τα όριαΔεν επιτρέπεται απομακρυσμένη εντολή
+ Απομακρυσμένο bolus μη διαθέσιμο. Δοκιμάστε ξανά αργότερα.
+ Για έναρξη βασικού %1$.2fU/h για %2$d λεπτά στείλτε κωδικό %3$s
+ Για αλλαγή προφίλ σε %1$s %2$d% στείλτε κωδικό %3$s
+ Για έναρξη εκτεταμένου bolus %1$.2fU για %2$d λεπτά στείλτε κωδικό %3$s
+ Για έναρξη βασικού %1$d%% για %2$d λεπτά στείλτε κωδικό %3$sΓια αναστολή κυκλκώματος για %1$d λεπτών στείλτε με κωδικό %2$sΠροσωρινός Ρυθμός %1$.2fU/h για %2$d λεπτά ξεκίνησε επιτυχώς
+ Εκτεταμένο bolus %1$.2fU για %2$d λεπτά ξεκίνησε επιτυχώς
+ Προσωρινός Ρυθμός %1$d%% για %2$d λεπτά ξεκίνησε επιτυχώςΕκκίνηση Προσωρινού Ρυθμού απέτυχε
+ Έναρξη εκτεταμένου bolus απέτυχε
+ Για κλείσιμο Προσωρινού Ρυθμού στείλτε κωδικό %1$s
+ Για κλείσιμο Εκτεταμένου bolus στείλτε κωδικό %1$sΟ Προσωρινός Ρυθμός ακυρώθηκε
+ Εκτεταμένο bolus ακυρώθηκεΑκύρωση Προσωρινού Ρυθμού απέτυχε
+ Η ακύρωση του Εκτεταμένου bolus απέτυχε
+ Άγνωστη εντολή ή λάθος απάντησηΓρήγορος ΟδηγόςΡυθμίσεις Γρήγορου ΟδηγούΚείμενο στο πλήκτρο:
@@ -399,6 +419,7 @@
Πεδίο %1$d Στοιχεία.\nΤρέχουσα τιμή:Δεδομένα AutosensΕντοπισμός σφαλμάτων δέσμης ενεργειών
+ Χρήση του AutosensΑνανέωσε συμβάντα από NSΔιαγραφή συμβάντων στο μέλλονΓεύμα Σύντομα
@@ -443,7 +464,7 @@
ΠροφίλΠροεπιλεγμένη τιμή: 3 Αυτό είναι ένα κλειδί ασφαλείας του OpenAPS. Αυτό περιορίζει την αύξηση του βασικού x3 (σε αυτούς τους ανθρώους) από την μεγαλύτερη τιμή του. Συνήθως δεν χρειάζεται να το αλλάξετε, αλλά πρέπει να ξέρετε τι σημαίνει “3x μέγιστο ημερήσιο; 4x τρέχων” για λόγους ασφαλείας.Προεπιλεγμένη τιμή: 4 Αυτό είναι το μισό του θέματος ασφαλείας του OpenAPS, και το άλλο μισό του «3 x μέγιστο ημέρας: 4 x τρέχων» των θεμάτων ασφαλείας. Αυτό σημαίνει ότι ο βασικός ρυθμός, ανεξάρτητα από την μέγιστη τιμή βασικού ρυθμού στην αντλία σας, δεν μπορεί να είναι υψηλότερος από το πολλαπλάσιο αυτού του αριθμού. Αυτό γίνεται για να αποτρέψει τους ανθρώπους από το να μπουν σε επικίνδυνες καταστάσεις θέτωντας υψηλό βασικό πριν κατανοήσουν πλήρως πώς λειτουργεί ο αλγόριθμος. Και πάλι, η προεπιλεγμένη τιμή είναι 4x: οι περισσότεροι άνθρωποι ποτέ δεν θα χρειαστεί να το προσαρμόσουν και αντίθετα είναι πιο πιθανό να χρειαστεί να προσαρμόσουν άλλες ρυθμίσεις αν αισθάνονται ότι κινούνται με ασφάλεια.
- Προεπιλεγμένη τιμή: 1.2\nΑυτός είναι ένας πολλαπλασιαστής για το autosens (και σύντομα autotune) για να ορίσετε ένα 20% ανώτατο όριο στο πόσο ψηλά μπορεί να είναι ο λόγος autosens, που με τη σειρά του καθορίζει πόσο ψηλά το autosens μπορεί να ρυθμίσει τον βασικό ρυθμό, πόσο χαμηλά μπορεί να ρυθμίσει την ISF, και πόσο χαμηλά μπορεί να ορίσει το στόχο της BG.
+ Προεπιλεγμένη τιμή: 1.2\nΑυτός είναι ένας πολλαπλασιαστής για το autosens (και σύντομα autotune) για να ορίσετε ένα 20%% ανώτατο όριο στο πόσο ψηλά μπορεί να είναι ο λόγος autosens, που με τη σειρά του καθορίζει πόσο ψηλά το autosens μπορεί να ρυθμίσει τον βασικό ρυθμό, πόσο χαμηλά μπορεί να ρυθμίσει την ISF, και πόσο χαμηλά μπορεί να ορίσει το στόχο της BG.Προεπιλεγμένη τιμή: 0.7\n H άλλη πλευρά από τα όρια ασφαλείας του autosens, θέτοντας ένα ανώτατο όριο στο πόσο χαμηλά to autosens μπορεί να προσαρμόσει τον βασικό ρυθμό και πόσο ψηλά μπορεί να ρυθμίσει τη ISF και τον στόχο του BG.Το autosens ρυθμίζει στόχουςΠροεπιλεγμένη τιμή: true\nΑυτό χρησιμοποιείται για να επιτρέψει στο autosens να προσαρμόσει τον στόχο BG, επιπρόσθετα από το ISF και βασικό ρυθμό.
@@ -456,7 +477,7 @@
Μη έγκυρος αριθμός τηλεφώνουΜη έγκυρος αριθμός τηλεφώνου για SMSΚαλιμπράρισμα
- Να στείλω το καλιμπράρισμα %.1f στο xDrip;
+ Να σταλεί η βαθμονόμηση %1$.1f στο xDrip;xDrip+ μη εγκατεστημένοΤο καλιμπράρισμα εστάλει στο xDripΤο καλιμπράρισμα στάλθηκε. Η λήψη πρέπει να είναι ενεργοποιημένη στο xDrip.
@@ -539,6 +560,12 @@
INSΕνεργοποίηση superbolus στον σύντομο οδηγόΕνεργοποιήστε την λειτουργία superbolus στον σύντομο οδηγό. Μην το κάνετε μέχρι να μάθετε τι ακριβώς κάνει. ΜΠΟΡΕΙ ΝΑ ΕΓΧΥΣΕΙ ΠΑΡΑΠΑΝΩ ΔΟΣΕΙΣ ΙΝΣΟΥΛΙΝΗΣ ΑΝ ΧΡΗΣΙΜΟΠΟΙΗΘΕΙ ΛΑΝΘΑΣΜΕΝΑ!
+ Εμφάνιση του φωτισμού κατάστασης στην αρχική οθόνη
+ Ενεργοποίηση του φωτισμού κατάστασης για cage, iage, sage, reservoir και επίπεδο μπεταρίας στην αρχική οθόνη.
+ Όριο προειδοποίησης χαμηλής αμπούλας [U]
+ Όριο προειδοποίησης πολύ χαμηλής αμπούλας [U]
+ Όριο προειδοποίησης χαμηλής μπαταρίας [%]
+ Όριο προειδοποίησης πολύ χαμηλής μπαταρίας [%]IOBCOBΈκδοση
@@ -546,6 +573,7 @@
Κατάσταση BluetoothΣχετικά μεΑπουσία δικαιωμάτων SMS
+ Λείπει η άδεια κατάστασης τηλεφώνουΚατάσταση xDrip (ρολόι)Γραμμή Κατάστασης xDrip (ρολόι)xds
@@ -590,7 +618,7 @@
Ρύθμιση απορρόφησηςΜέγιστος χρόνος απορρόφησης γεύματος [h]Χρόνος σε ώρες που περιμένουμε να απορροφηθούν όλοι οι υδατάνθρακες ενός γεύματος
- Εμφάνιση εκτεταμένου bolus σε %
+ Εμφάνιση εκτεταμένου bolus σε %%SAGEIAGECAGE
@@ -692,7 +720,10 @@
BT WatchdogΑπενεργοποιεί το bluetooth του τηλεφώνου για ένα δευτερόλεπτο αν δεν είναι δυνατή η σύνδεση με την αντλία. Αυτό μπορεί να βοηθήσει σε ορισμένα τηλέφωνα όπου το bluetooth παγώνει.Εφαρμογή DexcomG5 (τροποποιημένη)
+ DexcomG6 App (τροποποιημένη)
+ Eversense App (τροποποιημένη)Ανέβασμα δεδομένων BG στο NS
+ Ανέβασμα ρυθμίσεων BGΕμφάνιση λεπτομερών στατιστικώνΔείξτε τη διαφορά με ένα επιπλέον δεκαδικό ψηφίοΤα μέγιστα λεπτά του βασικού ρυθμού που περιορίζουν το SMB να
@@ -700,8 +731,8 @@
Αποστολή δεδομένων BG στο xDrip+Στο xDrip+, επιλέξτε την πηγή δεδομένων 640g / EversenseNSClient BG
- Η τιμή του βασικού αντικαταστάθηκε από την ελάχιστη υποστηριζόμενη τιμή: %s
- Η τιμή του βασικού αντικαταστάθηκε από την μέγιστη υποστηριζόμενη τιμή: %s
+ Η τιμή του βασικού αντικαταστάθηκε από την ελάχιστη υποστηριζόμενη τιμή: %1$s
+ Η τιμή του βασικού αντικαταστάθηκε από την μέγιστη υποστηριζόμενη τιμή: %1$sΥπολογισμός BGΥπολογισμός του IOB bolusΥπολογισμός βασικού IOB
@@ -719,8 +750,8 @@
Ενεργοποιήθηκε η κλειστή λειτουργίαΤο μέγιστο IOB έχει ρυθμιστεί σωστάBG διαθέσιμη από επιλεγμένη πηγή
- Οι τιμές του βασικού ρυθμού δεν αντιστοιχούν σε ώρες: %s
- Μη έγκυρο προφίλ: %s
+ Οι τιμές του βασικού ρυθμού δεν αντιστοιχούν σε ώρες: %1$s
+ Μη έγκυρο προφίλ: %1$sΠρογραμματισμός της αντλίας για bolusΑνανέωσηΚατάσταση
@@ -758,6 +789,7 @@
Η έγχυση του bolus και η επαλήθευση του ιστορικού αντλίας απέτυχε, ελέγξτε την αντλία. Εάν έχει γίνει έγχυση bolus, θα προστεθεί στις θεραπείες κατά την επόμενη σύνδεση με την αντλία.Δεν υπάρχει αρκετή ινσουλίνη στην αμπούλα για το bolusΣφάλμα έγχυσης εκτεταμένου bolus
+ SightΑντλία InsightΚατάστασηΤροποποίηση
@@ -832,6 +864,7 @@
Επιλογές δεδομένωνΑποστολή δεδομένων στο εργοστάσιοΝα επιτρέπεται η αυτόματη αποστολή αναφορών σφάλματος και χαρακτηριστικά χρήσης δεδομένων στους προγραμματιστές μέσω του fabric.io. service.
+ Ενημερώστε την εφαρμογή G5 στην υποστηριζόμενη έκδοσηΕκκίνηση δραστηριότητας TTΕκκίνηση Τρώω σύντομα ΤΤTT
@@ -874,6 +907,8 @@
Το κλειστό κύκλωμα είναι απενεργοποιημένο στις ΕπιλογέςΤο Autosens είναι απενεργοποιημένο στις ΕπιλογέςΤο SMB απενεργοποιήθηκε στις Επιλογές
+ Το UAM απενεργοποιήθηκε στις Επιλογές
+ Το UAM απενεργοποιήθηκε επειδή είναι ενεργοποιημένο στην προσθήκη ευαισθησία στο Oref1Ο μέγιστος βασικός ρυθμός περιορίζεται σε %1$.2f U/h λόγω ότι %2$sόριο αντλίαςπρέπει να είναι θετική τιμή
@@ -995,6 +1030,7 @@
%1$d. ΣτόχοςPoctechΛάβετε τις τιμές BG από την εφαρμογή Poctech
+ Λάβετε τιμές BG από Tomato app (MiaoMiao)Ο υψηλός προσωρινός στόχος ανεβάζει την ευαισθησία = 100]]>Ο χαμηλός προσωρινός στόχος μειώνει την ευαισθησία
@@ -1036,6 +1072,90 @@
Υπέρβαση του ορίου ινσουλίνηςΕλάχιστο αίτημα για αλλαγή [%]Το κύκλωμα δημιουργεί μια νέα αίτηση αλλαγής μόνο αν η αλλαγή είναι μεγαλύτερη από αυτήν την τιμή. Η προεπιλεγμένη τιμή είναι 20%
+ Παρακαλώ συνδέστε την αντλία στο τηλέφωνο!
+ Αναζήτηση συσκευών…
+ Περιμένετε…
+ Σύζευξη ολοκληρώθηκε
+ Ταιριάζουν οι εμφανιζόμενοι κωδικοί με αυτούς της αντλίας;
+ Σύζευξη Insight
+ Accu-Chek Insight
+ %1$.2fU / %2$.2fU παραδόθηκε
+ %1$s: %2$s
+ Σωληνάκι αλλάχθηκε
+ Η ώρα στην αντλία άλλαξε
+ Επιβεβαίωση
+ Σίγαση
+ Συναγερμός αντλίας
+ Αλλαγές αρχείου καταγραφής
+ Αλλαγές αρχείου αμπούλας
+ Αλλαγές αρχείου σωλήνα
+ Αλλαγές αρχείου μπαταρίας
+ Αλλαγές αρχείου κατάστασης λειτουργίας
+ Τοπικές Ειδοποιήσεις
+ Ενεργοποίηση εξομοίωσης TBR
+ Χρησιμοποιείστε εκτεταμένα bolus αντί για TBR για παράκαμψη του ορίου 250%%
+ Αποσυνδέστε καθυστέρηση [s]
+ Serial number
+ Απελευθέρωση έκδοση λογισμικού
+ Έκδοση λογισμικού επεξεργαστή UI
+ Έκδοση λογισμικού επεξεργαστή PC
+ Έκδοση λογισμικού επεξεργαστή MD tel
+ Έκδοση λογισμικού ασφαλείας επεξεργαστή
+ Έκδοση σελίδας πληροφοριών BT
+ Διεύθυνση Bluetooth
+ Σύστημα ID προσάρτημα
+ Ημερομηνία κατασκευής
+ Διαγραφή σύζευξης
+ Πληροφορίεςσύζευξης
+ Ανανέωση κατάστασης
+ Έναρξη αντλίας
+ Διακοπή αντλίας
+ Κατάσταση λειτουργίας
+ Κατάσταση
+ TDD Bolus
+ TDD βασικός
+ TDD σύνολο
+ Ανάκτηση
+ Μη σύζευξη
+ Τελευταία σύνδεση
+ Ξεκίνησε
+ Σταμάτησε
+ %1$d%% για %2$d / %3$d λεπτά
+ Εκτεταμένο bolus
+ Συνδυαστικό bolus
+ %1$.2f / %2$.2f U για %3$d λεπτά
+ Ενεργοποίηση ειδοποίησης TBR τέλος\n (ρύθμιση αντλίας)
+ Απενεργοποίηση ειδοποίησης TBR τέλος\n (ρύθμιση αντλίας)
+ Ανανέωση
+ Ενσωμάτωση αντλίας για αντλίες Accu-Chek Insight
+ Δεν έχει εισαχθεί
+ Τελευταία σύνδεση: %1$d λεπτά πριν
+ TBR: %1$d%% για %2$d / %3$d λεπτά
+ Εκτεταμένο: %1$.2f / %2$.2f U για %3$d λεπτά
+ Συνδυαστικό: %1$.2f / %2$.2f U για %3$d λεπτά
+ TDD: %1$.2f
+ Αμπούλα:%1$.2fU
+ Μπατ.:%1$d%%
+ Μέγ. διάρκεια αποκατάστασης [s]
+ Ελάχ. διάρκεια αποκατάστασης [s]
+ Διάρκεια αποκατάστασης
+ Τέλος χρόνου κατά τη διάρκεια handshake - επαναφορά bluetooth
+ == ∑ %1$s U
+ U/h
+ g/U
+ /U
+ Αλλαγή αρχείου αισθητήρα σε NS
+ Δημιουργία συμβάντος «Αλλαγή αισθητήρα» στο NS αυτόματα με έναρξη αισθητήρα
+ Tomato (MiaoMiao)
+ Tomato
+ Αλλαγή σε Θερινή ώρα σε 24h ή λιγότερο
+ Η Θερινή ώρα αλλάζει σε λιγότερο από 3 ώρες - Απενεργοποιήθηκε το κλειστό κύκλωμα
+ περιορισμός εσωτερικής μνήμης
+ Ελευθερώστε τουλάχιστον %1$d MB από εσωτερική μνήμη! Κύκλωμα απενεργοποιήθηκε!
+ Λάθος μορφή αρχείου
+ Λάθος κωδικός. Η εντολή ακυρώθηκε.
+ Δεν έχει ρυθμιστεί
+ Δημιουργήθηκε αλλαγή προφίλ%1$d ημέρα%1$d ημέρες
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index 2068dcaff0..9d800ccc59 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -1,15 +1,12 @@
- Seguridad de tratamientos
- Máximo Bolo permitido [U]Máximos carbohidratos permitidos [g]PreferenciasActualizar los tratamientos desde NSRestablecer las bases de datos¿Realmente quiere restablecer las bases de datos?Salir
- Usar bolos extendidos para >200%Dispositivo Bluetooth DanaRUsar siempre valores basales absolutosPor favor reinicia el teléfono o AndroidAPS desde ajustes de sistema, sino AndroidAPS no guardará registros (importante para trazar y verificar que el algoritmo funcione correctamente)
@@ -309,7 +306,6 @@
DetenerDETENER PULSADOEsperando bomba
- Se entregará %.2fUConfiguración de visualización y monitorización, y análisis de basales y ratiosComprobar que los datos de BG están disponibles en Nightscout, y que los datos de la bomba de insulina se están subiendoEmpezar con lazo abierto
@@ -332,7 +328,6 @@
Lazo inactivoLazo activo%1$.2f limitado a %2$.2f
- Valor %s fuera de limitesComando remoto no permitidoPara cancelar lazo por %1$d minutos responde con código %2$sBasal temporal %1$.2fU/h para %2$d min iniciada correctamente
@@ -446,7 +441,6 @@
PerfilesValor predeterminado: 3 Esta es una protección de seguridad en OpenAPS. Lo que esto hace es limitar tus basales a 3x (en este caso) tu mayor índice basal. Probablemente no necesites cambiar esto, pero debes tener en cuenta las discusiones sobre \"3x max diaria; 4x actual\" para protecciones de seguridad.Ajuste pro defecto: 4 Esto es la otra mitad de los ajustes de seguridad de OpenAPS y la otra mitad de la protección de seguridad de \"3x max diaria, 4x actual\". Esto significa, que tu basal, independientemente de tu máxima basal ajustada en la bomba, no puede ser mas alta que este número de veces el actual nivel de basal. Esto es para evitar que las personas se encuentren en situaciones peligrosas por aumentar mucho la basal sin entender como trabaja el algoritmo. El ajuste por defecto es 4x; la mayoría de las personas nunca tendrá que cambiar estos ajustes, sino que debe modificar otros ajustes en la terapia si se encuentran cerca de este límite de seguridad.
- Ajuste por defecto: 1.2\nEste es un límite multiplicador para autosens (y pronto autotune) para establecer un límite máximo del 20% sobre lo alto que puede ser el ratio autosens, que a su vez determina como de altos puede ajustar autosens los ratios basales, como de bajos puede ajustar el ISF y como de bajo establecer el objetivo de glusosa en sangre (BG).Ajuste por defecto: 0.7\nEl otro lado de los límites de seguridad de autosens, limitando a cuanto puede autosens bajar la basal y a cuanto puede subir ISF y objetivo de glucosa en sangre (BG).Autosens también ajusta los objetivosAjuste por defecto: true\nEsto se usa para permitir a autosens el ajuste de objetivos BG además de ISF y bases.
@@ -459,7 +453,6 @@
Número de teléfono inválidoNúmero de teléfono incorrecto para SMSCalibración
- ¿Mandar calibración %.1f a xDrip?xDrip+ no instaladoCalibración mandada a xDripCalibración enviada. La recepción debe estar habilitada en xDrip.
@@ -600,7 +593,6 @@
Ajustes absorciónTiempo max absorción comida [h]Tiempo en horas en el que se espera que todos los carbohidratos hayan sido absorbidos
- Mostrar bolo extendido en %SAGEIAGECAGE
@@ -713,8 +705,6 @@
Mandar datos BG a xDrip+En xDrip+ elige 640g/Eversense como fuente de datosNSClient BG
- Valor basal reemplazado por el valor mínimo soportado: %s
- Valor basal reemplazado por valor máximo soportado: %sCálculo BGCálculo bolo IOBCálculo basal IOB
@@ -732,8 +722,6 @@
Lazo cerrado activadoMáximo IOB ajustado correctamenteBG disponible desde la fuente seleccionada
- Valores basales no alineados a las horas: %s
- Perfil inválido: %sProgramando bomba para emitir boloActualizarEstado
@@ -1074,7 +1062,6 @@
Registro de cambio de modo de funcionamientoRegistro de alarmasActivar emulación de dosis basal temporal
- Usar bolos extendidos en lugar de tasas basales temporales para eludir el limite de 250%Desconectar el retraso [s]Número de serieVersión de software
@@ -1129,6 +1116,7 @@
Crear evento \"Cambio sensor\" en la automatización NS al iniciar el sensorTomato (MiaoMiao)Tomato
+ restricción de almacenamiento interno%1$d día%1$d días
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index ddc5a3bc49..0b5ef3c187 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -9,7 +9,7 @@
Réinitialiser les Bases de Données Voulez-vous vraiment réinitialiser les bases de données ?Quitter
- Utiliser les bolus étendus pour > 200%
+ Utiliser les bolus étendus pour > 200%%Dispositif Bluetooth DanaRUtiliser toujours les valeurs absolues du basalRedémarrez votre smartphone ou redémarrez AndroidAPS depuis les paramètres système \nsinon AndroidAPS ne sera pas connecté aux journaux (il est important de suivre et vérifier que les algorithmes fonctionnent correctement)!
@@ -315,7 +315,7 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S
ArrêtBOUTON ARRÊT ACTIVÉAttente connection pompe
- %.2fU va être injecté
+ %1$.2fU vont être injectéesParamétrer la visualisation et la surveillance des données, analyser les débits de basal et les ratiosVérifiez que la Glycémie est disponible sur Nightscout et que les données d’insuline ont été téléchargées de la pompeCommencez par la configuration Boucle Ouverte
@@ -338,7 +338,7 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S
La Boucle est désactivéeLa Boucle est activée%1$.2f limité à %2$.2f
- La valeur %s est hors des limites strictes
+ La valeur %1$s est en dehors des limitesLa commande à distance n\'est pas autoriséeBolus à distance non disponible. Réessayez plus tard.Pour démarrer Basal %1$.2fU/h pendant %2$d min, renvoyer le code %3$s
@@ -465,7 +465,7 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S
ProfilValeur par défaut : 3 Ceci est un paramètre important de sécurité de l’OpenAPS. Ceci va limiter vos débits basal à 3 fois votre débit Basal maximum. Il est probable que vous n’aurez pas besoin de changer cela, mais vous devez être conscient de ce qui est discuté pour les limites de sécurité dans “3x max daily; 4x current”.Valeur par défaut : 4 Ceci est l’autre moitié des paramètres de sécurité limitant l’OpenAPS, et l’autre moitié de “3x max daily, 4x current” des paramètres de sécurité. Quel que soit le basal maximum prédéfini dans votre pompe, il ne pourra pas être plus haut que ce nombre multiplié par le Basal actuel. Ceci est fait pour ne pas mettre l’utilisateur en danger en programmant des débits Basal maximum trop élevés avant de comprendre comment l’algorithme fonctionne. Encore une fois, la valeur par défaut est 4x, la plupart des gens n’auront jamais besoin d’ajuster ce paramètre, plutôt ils auront tendance à ajuster d’autres paramètres s’ils voient qu’ils atteignent ce paramètre de limite de sécurité.
- Valeur par défaut: 1.2\nCeci est la limite du multiplicateur utilisé par Autosens (ensuite Autotune) pour definir +20% en limite maximale du ratio Autosens. En consequence, ceci dit va définir pour Autosens, la valeur limite maximale du Basal, la valeur limite minimale de la Sensibilité à l\'insuline (SI, ISF), et la valeur limite minimale de la cible glycémique.
+ Valeur par défaut: 1.2\nCeci est la limite du multiplicateur utilisé par Autosens (et bientôt Autotune) pour définir +20%% en limite maximale du ratio Autosens. En consequence, ceci dit va définir la valeur maximale du Basal pour Autosens, la valeur minimale de la Sensibilité à l\'Insuline (SI, ISF), et la valeur minimale de la cible glycémique.Valeur par défaut: 0.7\nL’autre aspect pour les limites de sécurité pour Autosens. Cette valeur va créer une limite qui définit jusqu\'à quelle valeur minimale Autosens va pouvoir ajuster le basal , et jusqu\'à quelles valeurs maximales Autosens pourra ajuster la Sensibilité à l\'Insuline (SI, ISF) et les cibles glycémiques.Autosens ajuste aussi les ciblesValeur par défaut : true\nCeci est utilisé pour autoriser Autosens à ajuster les cibles de glycémie en plus de SI et les basals.
@@ -478,7 +478,7 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S
Le numéro de tél est invalideNum tél du SMS est invalideÉtalonnage
- Transmettre l\'étalonnage %.1f à xDrip ?
+ Envoyer la calibration %1$.1f à xDrip ?xDrip+ n\'est pas installéÉtalonnage envoyé à xDripÉtalonnage envoyé. La réception doit être activée dans xDrip.
@@ -619,7 +619,7 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S
Paramètres d’absorptionDurée maximale d’absorption pour un repasLe temps estimé en heures pour une absorbption totale des glucides d’un repas
- Afficher le bolus étendu en %
+ Afficher le bolus étendu en %%AgeCAgeIAgeC
@@ -732,8 +732,8 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S
Transmettre les données G vers xDrip+Dans xDrip+ veuillez séléctionner 640g/Eversense comme source de donnéesGlycémie NSClient
- Valeur de basal remplacée par la valeur minimale autorisée : %s
- Valeur de basal remplacée par la valeur maximale autorisée : %s
+ Valeur de basal remplacée par la valeur minimale autorisée : %1$s
+ Valeur de basal remplacée par la valeur maximale autorisée : %1$sCalcul de GlycémieCalcul IA du BolusCalcul IA du Basal
@@ -751,8 +751,8 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S
Mode boucle fermée activéMaximum IA réglé correctementGlycémie disponible depuis la source sélectionnée
- Les changements de Basal doivent être aux heures entières : %s
- Profile incorrect: %s
+ Les changements de Basal doivent être aux heures entières : %1$s
+ Profile incorrect : %1$sProgrammer la pompe pour injecter un bolusActualiserÉtat
@@ -1088,12 +1088,13 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S
Coupure sonAlerte de la pompeEnreg. changement de site
+ Enregistrer changements de réservoirEnreg. changement de tubulureEnreg. changement batterieEnreg. changement mode de fonctionnementEnreg. alertesActiver l’émulation de DBT
- Utilisez des Bolus étendus au lieu de DBTs pour contourner la limite de 250%
+ Utilisez des Bolus étendus au lieu de DBTs pour contourner la limite de 250%%Délai de déconnexion [s]Numéro de sérieVersion du logiciel
@@ -1149,6 +1150,7 @@ L\'ENSEMBLE DES RISQUES LIÉS À LA QUALITÉ ET À LA PERFORMANCE DU PROGRAMME S
Tomato (MiaoMiao)TomatoChangement d\'heure d\'été dans moins de 24 heures
+ Changement d\'heure d\'été dans moins de 3 heures - Boucle fermée désactivéestockage interne limitéBoucle désactivée ! Libérez au moins %1$d Mo du stockage interne !Format incorrect
diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml
index c4871e31c8..9b6d9033eb 100644
--- a/app/src/main/res/values-he/strings.xml
+++ b/app/src/main/res/values-he/strings.xml
@@ -2,7 +2,6 @@
רענן טיפול מ-Nightscout
- השתמש בבולוס מורחב של 200%בבקשה אתחל את הסמרטפון שלך או תרענן את אפלקצית AndroidAPS בהגדרות המערכת
אחרת AndroidAPS לא יוכל לבצע רישום (חשוב לעקוב אחר ולוודא כי האלגוריתמים פועלים כראוי)!מציג את ההגדרות הקבועות מראש עבור מזון המוגדר ב-Nightscout
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index 12ead731c5..cbb98e7289 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -9,7 +9,6 @@
Ripristinare i databaseVuoi davvero ripristinare le impostazioni?Uscita
- Usa esteso sup. 200%Dispositivo Bluetooh DanaRUtilizzare sempre valori assoluti basaliper favore riavvia il tuo telefonoo riavvia AndroidAPS dalle Impostazioni di Sistema o Android APS non lo registrera\'
@@ -307,7 +306,6 @@
ArrestaPREMUTO STOPIn attesa del micro
- Erogando %.2fUImpostazione di visualizzazione, monitoraggio e analisi basali e rapportiVerifica che Bg sia disponibile in Nightscout, e la data micro e\' ben allineataPartenza con Open loop
@@ -330,7 +328,6 @@
Loop e\' disabilitatoLoop abilitato%1$.2f limitato a %2$.2f
- Valore %s è fuori limiti massimiil comando da remoto non e\' permessoSospendi il loop per %1$d minuti riprendi %2$sBasale temporanea %1$.2fU/h for %2$d min avviata con successo
@@ -443,7 +440,6 @@
ProfiloValore predefinito: 3 Questo è una chiave di sicurezza di OpenAPS. Ciò che fa è limitare le tue basali a essere 3 volte la quantità massima. Probabilmente non avrai bisogno di cambiarlo, ma dovresti essere consapevole di ciò che viene discusso in merito a \"3x max al giorno; Corrente 4x \"per sicurezza.Valore predefinito: 4 questo è l\'altra metà delle chiavi di sicurezza di OpenAPS e l\'altra metà del \"3 volte al giorno max; 4 x corrente\"le chiavi di sicurezza. Ciò significa che il tuo basale, indipendentemente dal basale di max impostato sulla pompa, non può essere più in alto di questo numero di volte il livello attuale del tuo basale. Si tratta di impedire alle persone di entrare in regime pericoloso da basals max eccessivamente alta prima di capire come funziona l\'algoritmo. Ancora una volta, il valore predefinito è 4x; maggior parte delle persone non sarà necessario modificare questo e invece sono più probabili avere bisogno di regolare le altre impostazioni se si sentono come sono \"in esecuzione in\" questo chiave di sicurezza.
- Valore predefinito: 1.2\n Questo è un valore di moltiplicatore per autosens (e presto autotune) per impostare un limite massimo del 20% su quanto in alto può essere il rapporto di autosens, che a sua volta determina quanto in alto autosens possibile regolare basals, quanto in basso può regolare ISF e quanto in basso è possibile impostare la destinazione di BG.Valore predefinito: 0,7\n L\'altro lato dei limiti di sicurezza di autosens, mettendo un limite su quanto in basso gli autosens possono regolare le basili e quanto alto può regolare i target CF e BG.Autosens regolare obiettiviValore predefinito: true\n viene utilizzato per consentire autosens regolare gli obiettivi di BG, oltre a Cf e basale.
@@ -456,7 +452,6 @@
Numero di telefono non correttoNumero non valido per SMSCalibrazione
- Invia calibrazione %.1f a xDrip?xDrip non installatoInvio calibrazione xDripLa calibrazione è stata inviata. La ricezione deve essere abilitata in xDrip.
@@ -589,7 +584,6 @@
Impostazioni di assorbimentoAssorbimento max pasto tempo [h]Tempo in ore in cui è previsto che tutti i carboidrati del pasto vengano assorbiti
- Visualizza bolo esteso comeSAGEIAGECAGE
@@ -699,8 +693,6 @@
Inviare i dati di BG xDrip +In xDrip + selezionare origine dati 640g/EversenseNSClient BG
- Valore basale sostituito dal valore massimo: %s
- Valore basale sostituito dal valore massimo: %sCalcolo di BGCalcolo di bolo BoloCalcolo di bolo
@@ -718,8 +710,6 @@
Chiusa modalità attivataIOB massima impostata correttamenteBG disponibile da sorgente selezionata
- Valori basali non allineati alle ore: %s
- Profilo non valido: %sProgrammazione micro per bolusingAggiornaStato
@@ -1035,6 +1025,7 @@
Violazione del limite di insulinaCambiare richiesta minima [%]Loop sarà nuova richiesta di modifica popup solo se il cambiamento è più grande di questo valore. Valore predefinito è 20%
+ Batt: %1$d%%%1$d giorni%1$d giorni
diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml
index 05cb3f62f7..80b2994a0e 100644
--- a/app/src/main/res/values-ko/strings.xml
+++ b/app/src/main/res/values-ko/strings.xml
@@ -9,7 +9,6 @@
데이터베이스 초기화데이터 베이스를 정말 초기화하시겠습니까?종료
- >200% 주입위한 확장Bolus 사용다나R 블루투스Basal 절대값 사용하기폰을 재부팅하거나 AndroidAPS를 재시작하세요 \n그렇지 않으면 로그 기록이 되지 않습니다.(알고리즘이 정상적인 작동하는지 확인하기 위해 로그가 필요합니다.)!
@@ -307,7 +306,6 @@
정지정지 누름펌프를 기다리는 중
- %.2fU을 주입합니다표시설정과 모니터설정을 완료하고, Basal과 비율을 분석한다.나이트스카우트에서 혈당 데이터가 잘 들어오는지, 펌프데이터가 업로드 되는지 확인한다.Open Loop를 시작한다.
@@ -330,7 +328,6 @@
Loop가 중지중입니다.Loop가 실행중입니다.%1$.2f, %2$.2f으로 제한됨
- %s값이 하드한계(Hard Limit)를 벗어났습니다원격 명령이 허가되지 않았습니다%1$d분동안 Loop 일시중지하려면 %2$s 를 입력하고 답장하세요Temp Basal %1$.2fU/h for %2$d min started successfully
@@ -443,7 +440,6 @@
프로파일기본값: 3\n이 값은 중요한 OpenAPS 안전장치입니다. 이 값의 역할은 펌프에 설정되어 있는 최대Basal보다 3배를 초과할 수 없게 제한하는 것입니다. 이 값을 변경할 필요는 없을 것이지만, 안전을 위해 \"3x max daily; 4x current\"이 의미하는 바를 알고 있어야 합니다.기본값: 4\n이 값은 \"3x max daily; 4x current\"의 나머지 절반에 해당하는 또 다른 중요한 OpenAPS 안전장치입니다. 이것은, 펌프에 설정된 최대 Basal과는 관계없이, Basal이 설정된 현재시간의 Basal에 이 값을 곱한 양을 초과할 수 없다는 것을 의미합니다. 이는 알고리즘의 작동 방식을 이해하기 전에 과도하게 높은 최대 기본을 설정하여 위험한 상황에 빠지지 않도록 보호하기 위한 것입니다. 다시한번, 기본 값은 4배인 것을 알아두세요; 일반적으로 이것을 조정할 필요는 전혀 없으며, 대신 이 안전장치를 변경해야할것처럼 생각이 된다면, 다른 설정을 변경해야 할 가능성이 더 큽니다.
- 기본값: 1.2\n이 값은 autosens가 autosens 비율을 얼마나 높게 할 수 있는지에 대한 최대 한계를 20%로 설정하는 승수장치입니다. 이는 autosens가 얼마나 높게 Basal을 조절할수 있는지, ISF를 얼마나 낮게 조절할수 있는지, 혈당 목표범위를 얼마나 낮게 설정할수 있는지를 결정합니다.기본값: 0.7\nautosens 안전 제한의 나머지 부분입니다. 이는 Basal을 얼마나 낮게 조절할 수 있는지, ISF와 혈당 목표범위를 얼마나 높게 설정할 수 있는지를 결정합니다.Autosens가 목표도 조절합니다.기본값: 활성\n이것은 autosens가 ISF와 Basal뿐만 아니라, 혈당 목표범위를 조절할 수 있게 합니다.
@@ -456,7 +452,6 @@
폰번호가 유효하지 않습니다SMS폰번호가 유효하지 않습니다보정
- 보정값 %.1f을 xDrip에 전송하시겠습니까?xDrip+가 설치되지 않았습니다보정이 xDrip으로 전송되었습니다보정 전송됨. xDrip에서 수신이 되도록 설정되어 있어야 합니다.
@@ -589,7 +584,6 @@
흡수 설정식사 최대 흡수 시간 [h]식사로 섭취한 탄수화물이 모두 흡수될기까지 예상되는 시간
- 확장Bolus를 %로 표시하기SAGEIAGECAGE
@@ -699,8 +693,6 @@
혈당 데이터를 xDrip+에 전송하기xDrip+ 데이터 소스에서 640g/Eversense을 선택하세요NSClient 혈당
- 지원되는 최소값으로 Basal값이 대체되었습니다:%s
- 지원되는 최대값으로 Basal값이 대체되었습니다:%s혈당 계산Bolus IOB 계산Basal IOB 계산
@@ -718,8 +710,6 @@
Closed 모드가 활성화됨최대 IOB가 바르게 설정됨선택한 소스에서 혈당이 들어옵니다.
- Basal값이 시간단위로 설정되지 않았습니다: %s
- 유효하지 않은 프로파일: %sBolus 주입을 위한 펌프 프로그래밍새로고침상태
diff --git a/app/src/main/res/values-lt/insight_alert_codes.xml b/app/src/main/res/values-lt/insight_alert_codes.xml
index 70489fbc5e..3466daa6fc 100644
--- a/app/src/main/res/values-lt/insight_alert_codes.xml
+++ b/app/src/main/res/values-lt/insight_alert_codes.xml
@@ -1,3 +1,30 @@
-
+
+ Priminimas R1
+ Priminimas R2
+ Priminimas R3
+ Priminimas R4
+ Priminimas R7
+ Įspėjimas W31
+ Įspėjimas W32
+ Įspėjimas W33
+ Įspėjimas W34
+ Įspėjimas W36
+ Įspėjimas W38
+ Įspėjimas W39
+ Servisas M20
+ Servisas M21
+ Servisas M22
+ Servisas M23
+ Servisas M24
+ Servisas M25
+ Servisas M26
+ Servisas M27
+ Servisas M28
+ Servisas M29
+ Servisas M30
+ Klaida E6
+ Klaida E10
+ Klaida E13
+
diff --git a/app/src/main/res/values-lt/insight_alert_descriptions.xml b/app/src/main/res/values-lt/insight_alert_descriptions.xml
index 70489fbc5e..f28b6cdbc4 100644
--- a/app/src/main/res/values-lt/insight_alert_descriptions.xml
+++ b/app/src/main/res/values-lt/insight_alert_descriptions.xml
@@ -1,3 +1,25 @@
-
+
+ %1$d%%\nTrukmė: %2$s h]]>
+ %1$s U]]>
+ Pakeiskite bateriją.
+ Nustatykite laiką/datą.
+ Kreipkitės į Accu-Chek palaikymo tarnybą.
+ %1$d%% Trukmė: %2$s h]]>
+ %1$s U Suleista: %2$s U]]>
+ Įdėkite rezervuarą.
+ Pakeiskite rezervuarą.
+ Pakeiskite bateriją.
+ Patikrinkite pompos būseną.
+ Pakeiskite infuzijos rinkinį.
+ Kreipkitės į Accu-Chek palaikymo tarnybą.
+ Pakeiskite rezervuarą.
+ Iš naujo paleiskite duomenų atsisiuntimą.
+ Patikrinkite pompos būseną.
+ Nustatykite baterijos tipą.
+ Nustatykite rezervuaro tipą.
+ Pakeiskite bateriją ir rezervuarą.
+ Pakeiskite rezervuarą.
+ Pakeiskite kalbą.
+
diff --git a/app/src/main/res/values-lt/insight_alert_titles.xml b/app/src/main/res/values-lt/insight_alert_titles.xml
index 70489fbc5e..9281b6adad 100644
--- a/app/src/main/res/values-lt/insight_alert_titles.xml
+++ b/app/src/main/res/values-lt/insight_alert_titles.xml
@@ -1,3 +1,30 @@
-
+
+ Suleisti bolusą
+ Praleistas bolusas
+ Žadintuvas
+ Keisti infuzijos rinkinį
+ LBD baigtas
+ Mažai insulino rezervuare
+ Baterija senka
+ Netinkamas laikas/data
+ Garantija pasibaigė
+ LBD atšauktas
+ Bolusas atšauktas
+ Eksploatacijos laikas artėja prie pabaigos
+ Rezervuaras neįdėtas
+ Rezervuaras tuščias
+ Baterija tuščia
+ Automatinis išjungimas - pompa sustabdyta
+ Užsikimšimas
+ Eksploatacijos laikas pasibaigė
+ Rezervuaro keitimas neužbaigtas
+ Atsisiųsti nepavyko
+ Pristabdymo laikas baigėsi
+ Baterijos tipas nenustatytas
+ Rezervuaro tipas nenustatytas
+ Mechaninė klaida
+ Stūmoklio grąžinimo klaida
+ Kalbos klaida
+
diff --git a/app/src/main/res/values-lt/insight_exceptions.xml b/app/src/main/res/values-lt/insight_exceptions.xml
index 70489fbc5e..82bbbab6fb 100644
--- a/app/src/main/res/values-lt/insight_exceptions.xml
+++ b/app/src/main/res/values-lt/insight_exceptions.xml
@@ -1,3 +1,15 @@
-
+
+ Prisijungti nepavyko
+ Nutrūko ryšys
+ Susiejimas atmestas
+ Jungtis nesukurta
+ Laukimo laikas viršytas
+ Maksimalus bolusų tipų skaičius aktyvus
+ Nėra aktyvaus LBD, kurį būtų galima atšaukti
+ Nėra aktyvaus LBD, kurį būtų galima pakeisti
+ Nėra atšaukiamo boliuso
+ Pompa jau šiame režime
+ Veikimo režimas neleidžiamas
+
diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml
index 70489fbc5e..11d4733c9b 100644
--- a/app/src/main/res/values-lt/strings.xml
+++ b/app/src/main/res/values-lt/strings.xml
@@ -1,3 +1,1177 @@
-
+
+ Terapijos saugumas
+ Maksimalus leistinas bolusas [U]
+ Maks. leistini angliavandeniai [g]
+ Nustatymai
+ Atnaujinti terapiją iš NS
+ Iš naujo nustatyti duomenų bazę
+ Ar tikrai norite iš naujo nustatyti duomenų bazę?
+ Išeiti
+ Naudoti ištęstinį bolusą >200%%
+ DanaR Bluetooth įrenginys
+ Visada naudoti bazės absoliučias vertes
+ Prašome iš naujo paleisti telefoną arba sistemos nustatymuose iš naujo paleisti AndroidAPS \nkitaip AndroidAPS negalės registruoti prisijungimų (svarbu stebint ir tikrinant, ar algoritmai veikia tinkamai)!
+ Mygtukai greitesniam pagrindinių funkcijų paleidimui
+ Papildomų įrašų žurnalas.
+ Naudojama aktyvių įskiepių konfigūravimui
+ Mokymosi programa
+ Rodyti maisto ruošinius iš Nightscout
+ Nustatymai Humalog ir NovoRapid / NovoLog insulinams
+ Nustatymai Fiasp insulinui
+ Leidžia pasirinkti insulino veikimo piką ir turėtų būti naudojama tik patyrusių vartotojų
+ Aktyvuoja arba deaktyvuoja Ciklo paleidimą.
+ Sinchronizuoja duomenis su Nightscout
+ 2016 m. algoritmas
+ 2017 m. algoritmas
+ Naujausias algoritmas patyrusiems vartotojams
+ Rodo dabartinę Ciklo būseną ir pagrindinių veiksmų mygtukus
+ Rodo atsinaujinančius pranešimus su trumpa Ciklo veiklos apžvalga
+ Nustato profilį, kuris veikia neprisijungus prie interneto.
+ Nustato profilį, kuris įvestas Nightscout puslapyje
+ Nustato profilį su vieninteliu laiko bloku.
+ Accu-Chek Combo pompos integracija, reikalinga Ruffy programėlė
+ DANA Diabecare R pompos integracija
+ DANA Diabecare R pompos, skirtos vietinei P. Korėjos rinkai, integracija
+ DANA Diabecare R pompos su atnaujinta programine-aparatine įranga integracija
+ DANA Diabecare RS pompos integracija
+ Accu-Chek Insight pompos integracija, kuriai reikalinga SightRemote programėlė
+ Integracija žmonėms, naudojantiems insulino injektorius
+ Integracija pompoms, kurios dar neturi reikalingo valdiklio (Atviras Ciklas)
+ Jautrumas insulinui apskaičiuojamas taip pat kaip ir Oref0, tačiau jūs galite nustatyti, koks praeities laikotarpis bus naudojamas. Minimalus angliavandenių įsisavinimo greitis apskaičiuojamas remiantis maksimaliu angliavandenių įsisavinimo greičiu, kuris įvestas Nustatymuose.
+ Jautrumas insulinui apskaičiuojamas remiantis praėjusių 24 val. duomenimis, o (neįsisavinti) angliavandeniai neįtraukiami į skaičiavimus praėjus Nustatymuose nurodytam laikui.
+ Jautrumas insulinui apskaičiuojamas remiantis praėjusių 8 val. duomenimis, o (neįsisavinti) angliavandeniai neįtraukiami į skaičiavimus praėjus Nustatymuose nurodytam laikui. Įskiepis taip pat įskaičiuoja NM (neįrašytą maistą).
+ Jautrumas insulinui apskaičiuojamas kaip nuokrypių svertinis vidurkis. Naujausių nuokrypių svoris yra didesnis. Minimalus angliavandenių įsisavinimo greitis apskaičiuojamas iš maksimalaus angliavandenių įsisavinimo greičio, kuris nurodytas Nustatymuose. Šis algoritmas greičiausiai aptinka pasikeitusį jautrumą insulinui.
+ Gauti kraujo gliukozės reikšmes iš modifikuotos Dexcom G5 programėlės.
+ Gauti kraujo gliukozės reikšmes iš modifikuotos Dexcom G6 programėlės.
+ Gauti kraujo gliukozės vertes iš modifikuotos Eversense programėlės.
+ Gauti kraujo gliukozės vertes iš Glimp.
+ Gauti kraujo gliukozės vertes iš 600SeriesAndroidUploader.
+ Gauti kraujo gliukozės vertes iš Nightscout
+ Gauti kraujo gliukozės vertes iš xDrip.
+ Išsaugoti visus terapijos pakeitimus
+ Stebėti ir kontroliuoti AndroidAPS naudojant WearOS laikrodį.
+ Rodyti Ciklo informaciją laikrodyje, xDrip+ pradžios ekrane.
+ Nuotolinis AndroidAPS valdymas naudojant SMS komandas.
+ Atgal
+ Pradėti
+ Patikrinti
+ Vienetai
+ IVT (Insulino Veikimo Trukmė)
+ IA (insulino/angliavandenių santykis)
+ JIF (jautrumo insulinui faktorius)
+ Valandinė bazė
+ Tikslinė gliukozės vertė
+ Nenustatytas profilis
+ Insulinas:
+ Angliavandeniai:
+ AIO:
+ AIO:
+ Aktyvumas:
+ Visas AIO:
+ Bendro AIO aktyvumas:
+ Trukmė:
+ Santykis:
+ Ins:
+ AIO:
+ Visas AIO:
+ Insulinas
+ Angliavandeniai
+ KG
+ LT
+ Angliavandeniai
+ Korekcija
+ vv
+ Bolusų AIO
+ Paleisti dabar
+ Virtuali pompa
+ Pagrindinis bazės dydis
+ Laikina bazė
+ Ištęstas bolusas
+ Baterija
+ Rezervuaras
+ Gerai
+ Paskutinis veiksmas
+ Įvesties parametrai
+ Gliukozės statusas
+ Dabartinė laikina bazė
+ AIO duomenys
+ Profilis
+ Maisto duomenys
+ Rezultatas
+ Nėra gliukozės duomenų
+ Pakeitimai nereikalingi
+ Užklausa
+ Vertė
+ Trukmė
+ Priežastis
+ Gliukozė
+ Pokytis
+ Pokytis:
+ Konfigūracija
+ Tikslai
+ OpenAPS MA
+ Apžvalga
+ NS profilis
+ Paprastas profilis
+ Laikina bazė
+ Terapija
+ Virtuali pompa
+ Priežiūra
+ Pompa
+ Kokią pompą naudosite su AndroidAPS?
+ Terapija
+ Kuris įskiepis bus naudojamas terapijos tvarkymui?
+ Profilis
+ Kurį profilį naudos AndroidAPS?
+ DKS
+ Kuris DKS algoritmas turėtų koreguoti terapiją?
+ Bendrieji
+ Bendrieji įskiepiai, kurie gali praversti.
+ Kokie apribojimai taikomi?
+ dienos(-ų)
+ Apribojimai
+ Ciklas
+ Ciklas
+ Naudokite, norėdami aktyvuoti AndroidAPS Ciklą.
+ DKS
+ Pritaikius apribojimus
+ Laikina bazė nustatyta pompoje
+ Paskutinis veiksmas
+ Gerai
+ Atšaukti
+ NEPASIRINKTA DKS ARBA NĖRA REZULTATO
+ Saugumas
+ Įskiepis išjungtas
+ Apribojimų pažeidimas
+ Boluso suleidimo klaida
+ Laikinos bazės suleidimo klaida
+ Valandinė bazė [%]
+ % (100 % = dabartinis)
+ Patvirtinti naują laikiną bazę:
+ Terapija
+ Skaičiuotuvas
+ Taikomas ribojimas!
+ Patvirtinimas
+ Įvesti naują paskyrimą:
+ Bolusas
+ Bolusas:
+ Valandinė bazė
+ Valandinė bazė:
+ Angliavandeniai
+ Pakeiskite įvestus duomenis!
+ Nustatyti naują ištęstą bolusą:
+ KG šaltinis
+ Iš kur AndroidAPS gaus duomenis?
+ xDrip
+ DKS režimas
+ Uždaras Ciklas
+ Atviras Ciklas
+ Ciklas išjungtas
+ Išjungti Ciklą
+ Įjungti Ciklą
+ Gautas naujas pasiūlymas
+ Nepalaikoma NSClient versija
+ Nepalaikoma Nightscout versija
+ Neįdiegtas NSClient. Įrašai prarasti!
+ KG matoma NS
+ Pompos statusas matomas NS
+ Įvesti rankiniu būdu
+ CIKLAS NEAKTYVUS DĖL APRIBOJIMŲ
+ Bazės AIO
+ Pritaikytas boluso apribojimas
+ Pritaikytas angliavandenių apribojimas
+ KG testas
+ Pranešimas
+ Pastaba
+ Klausimas
+ FA-fizinis aktyvumas
+ Kateterio keitimas
+ CGM sensoriaus įvedimas
+ CGM sensoriaus paleidimas
+ Insulino rezervuaro keitimas
+ Profilio keitimas
+ Užkandžio bolusas
+ Bolusas valgiui
+ Bolusas korekcijai
+ Kombinuotas bolusas
+ Pradėti laikiną bazę
+ Užbaigti laikiną bazę
+ Angliavandeniai korekcijai
+ OpenAPS neprisijungus
+ Įvykio tipas
+ Kiti
+ Matuoklis
+ Sensorius
+ Angliavandeniai
+ Insulinas
+ Angliavandenių veikimo laikas
+ Išskaidyti
+ Trukmė
+ Procentai
+ Absoliutus
+ Pastabos
+ Įvykio laikas
+ Profilis
+ Įvedė
+ Gliukozės tipas
+ Dar negautas joks profilis iš NS
+ Laikina bazė
+ Ištęstas bolusas
+ Nightscout versija:
+ Trūksta
+ Nustatymai eksportuoti
+ Eksportuoti nustatymus
+ Importuoti nustatymus iš
+ Nustatymai importuoti
+ Failas nerastas
+ Eksportuoti nustatymus
+ Importuoti nustatymus
+ Maks vv/val skaičius, kuris gali būti nustatytas kaip laikina bazė
+ Šis skaičius OpenAPS kontekste vadinamas maks. valandine baze
+ Didžiausias valandinės bazės insulino kiekis, kurį gali suleisti OpenAPS [U]
+ Ši vertė OpenAPS kontekste vadinama Maks AIO\nTai maksimalus insulino vienetų [U] skaičius, kurį DKS gali suleisti vienu metu.
+ ATMESTI
+ DanaR
+ Jungiamasi
+ Prisijungta
+ Atsijungta
+ DanaR pompos nustatymai
+ Licencinė sutartis su vartotoju
+ PROGRAMA NEGALI BŪTI NAUDOJAMA GYDYMO SPRENDIMAMS PRIIMTI. PAGAL GALIOJANČIUS ĮSTATYMUS PROGRAMA NESUTEIKIA JOKIŲ GARANTIJŲ VARTOTOJUI. JEI RAŠTU NENURODYTA KITAIP, PROGRAMOS AUTORINIŲ TEISIŲ TURĖTOJAS IR/AR KITOS ŠALYS PATEIKIA PROGRAMĄ \"KAIP YRA\" BE JOKIŲ GARANTIJŲ, TIEK AKIVAIZDŽIŲ, TIEK NUMANOMŲ, ĮSKAITANT, BET NEAPSIRIBOJANT GALIMYBĘ NAUDOTI PROGRAMĄ KOMERCINIAMS AR KITOKIEMS DALINIAMS TIKSLAMS. RIZIKĄ, KYLANČIĄ NAUDOJANT PROGRAMĄ PRISIIMA PATS VARTOTOJAS. JEI PROGRAMA VEIKIA NETINKAMAI, IŠLAIDOS, SUSIJUSIOS SU PROGRAMOS SERVISU, TAISYMU AR KOREGAVIMU, TENKA VARTOTOJUI.
+ SUPRATAU IR SUTINKU
+ Išsaugoti
+ Bluetooth adapteris nerastas
+ Pasirinktas įrenginys nerastas
+ Pompos prisijungimo klaida
+ Pompos AIO
+ Paros insulinas
+ Paskutinis bolusas
+ prieš %.1fval
+ Neteisingai įvesti duomenys
+ Vertė nėra tinkamai nustatyta
+ Atnaujinti profilį
+ Peržiūrėti profilį
+ Vykdoma
+ Komentaras
+ Atlikta
+ Procentai
+ Absoliutus
+ Atšaukti laikiną bazę
+ SMS komunikatorius
+ Laukiama rezultato
+ Leidžiami telefono numeriai
+ +370XXXXXXXX; +370YYYYYYYY
+ Norėdami suleisti %1$.2fvv bolusą, atsakykite kodu %2$s
+ Norėdami nusiųsti kalibraciją %1$.2f, atsakykite kodu %2$s
+ Bolusas nesuleistas
+ %1$.2fvv bolusas sėkmingai suleistas
+ Bus suleista %1$.2fvv
+ %1$.2fvv bolusas sėkmingai suleistas
+ Leidžiama %1$.2fvv
+ Leisti nuotolines komandas SMS žinutėmis
+ Iš piršto
+ Iš sensoriaus
+ Rankiniu būdu
+ Laikinas tikslas
+ Atšaukti laikiną tikslą
+ DanaR profilio nustatymai
+ IVT [h]
+ Insulino veikimo trukmė
+ Nepavyko atnaujinti bazės profilio
+ Atnaujinti
+ Siunčiama
+ Ištęstas bolusas
+ Paprastas bolusas dvibangiame
+ Ištęstas bolusas dvibangiame
+ klaida
+ užpildymas
+ valandinė bazė
+ gliukozė
+ angliavandeniai
+ aliarmas
+ Įkelta %1$d įrašų
+ Paprastas bolusas
+ Aliarmai
+ Valandinė bazė
+ Bolusai
+ Angliavandeniai
+ Paros insulinas
+ Klaidos
+ Gliukozė
+ Užpildymas
+ Sustabdyta
+ Jungiamasi %1$d s
+ Pompos slaptažodis
+ Neteisingas pompos slaptažodis!
+ Pompa šiuo metu veikia
+ Suleista
+ Sustabdyta
+ Bolusas sustabdytas
+ Bolusas stabdomas
+ Užsikimšimas
+ Stop
+ Paspausta STOP
+ Laukiama ryšio su pompa
+ Bus suleista %1$.2fvv
+ Nustatymai vizualizacijai, monitoringui ir bazės verčių bei koeficientų analizei
+ Įsitikinkite, kad gliukozės duomenys rodomi Nightscout, o pompos insulino duomenys yra įkelti
+ Aktyvuojamas atviras ciklas
+ Keletą dienų praleiskite atvirojo ciklo (Open Loop) režime, rankiniu būdu tvirtindami kuo daugiau siūlomų bazės pakeitimų. Nustatykite ir naudokite laikinus bei numatytuosiuos tikslus (pvz.: fiziniam aktyvumui ir hipo korekcijai angliavandeniais)
+ Perpraskite atvirojo ciklo veikimą bei laikinos bazės rekomendacijas
+ Remdamiesi šia patirtimi, nuspręskite, koks turėtų būti maksimalus bazės dydis bei įveskite jį pompoje ir programos Nustatymuose
+ Pradėkite uždaro ciklo (Closed Loop) režimą su pompos stabdymu esant žemai gliukozei
+ Keletą dienų praleiskite uždaro ciklo režime su kuo mažiau hipoglikemijų, kai IK = 0
+ Koreguokite savo uždarąjį ciklą po truputį didindami maks IK ir mažindami tikslinę gliukozės vertę
+ Praleiskite keletą dienų ir bent vieną naktį be hipoglikemijos aliarmų
+ Jei reikia, paderinkite valandines bazės vertes bei pagrindinius parametrus ir įgalinkite Autosens funkciją.
+ 1 savaitę praleiskite sėkmingai naudodami uždarąjį ciklą dienos metu ir įvesdami visus valgomus angliavandenius.
+ Dienos metu aktyvuokite papildomas funkcijas, tokias kaip pažangioji maisto skaičiuoklė (AMA Advanced Meal Assist)
+ Dienos metu aktyvuokite papildomas funkcijas, tokias kaip SMB (Super Mikro Bolusas).
+ Norėdami, kad SMB veiktų gerai, turite perskaityti dokumentaciją ir padidinti max IK! Pradžiai patartina skaičiuoti taip: maxIK=(didžiausia valandinė bazė x 3) + vidutinis bolusas.
+ Pasiekėte leistiną ribą
+ Nepasirinktas profilis
+ Ciklas buvo išjungtas
+ Ciklas buvo įjungtas
+ Ciklas išjungtas
+ Ciklas įjungtas
+ %1$.2f apribotas iki %2$.2f
+ Vertė %1$s viršija griežtą limitą
+ Nuotolinis valdymas negalimas
+ Nuotolinis bolusas negalimas. Bandykite vėliau.
+ Norėdami aktyvuoti %1$.2fvv/val bazę, kurios trukmė %2$d min, atsakykite kodu %3$s
+ Norėdami perjungti profilį %1$s %2$d%%, atsakykite kodu %3$s
+ Norint pradėti ištęstinį bolusą %1$.2fvv %2$d min., atsakykite kodu %3$s
+ Norėdami aktyvuoti %1$d%% bazę %2$d min., atsakykite kodu %3$s
+ Norėdami sustabdyti Ciklą %1$d min., atsakykite kodu %2$s
+ %1$.2f vv/val laikina bazė, kurios trukmė %2$d min., aktyvuota sėkmingai
+ %1$.2f vv ištęstas bolusas, kurio trukmė %2$d min., aktyvuotas sėkmingai
+ %1$d%% laikina bazė, kurios trukmė %2$d min., aktyvuota sėkmingai
+ Laikina bazė neaktyvuota
+ Ištęstinis bolusas nepradėtas
+ Norėdami sustabdyti laikiną bazę, atsakykite kodu %1$s
+ Norėdami sustabdyti ištęstinį bolusą, atsakykite kodu %1$s
+ Laikina bazė atšaukta
+ Ištęstinis bolusas atšauktas
+ Laikinos bazės atšaukti nepavyko
+ Nepavyko atšaukti ištęstinio boluso
+ Nežinoma komanda arba neteisingas atsakymas
+ Greitasis patarėjas
+ Greitojo patarėjo nustatymai
+ Mygtuko tekstas:
+ Angliavandeniai:
+ Galioja:
+ Pridėti
+ Redaguoti
+ Pašalinti
+ Maistas
+ Korekcija
+ Veiksmai
+ AndroidAPS paleista
+ Tik įkelti duomenis į NS (ne sinchronizuoti)
+ Duomenys tik perkeliami į Nightscout. Gliukozės duomenys perkeliami tik tada, kai naudojama lokali programa, pvz.: xDrip. Naudojant NS-profilį, kiti profiliai neaktyvūs.
+ Pompa neprijungta!
+ Pompa neprijungta, profilis nepasirinktas!
+ Užpildyti kateterį/adatą
+ Įsitikinkite, kad nurodytas kiekis atitinka Jūsų infuzijos rinkinio specifikaciją!
+ Kita
+ Standartiniai insulino kiekiai kateterio/kaniulės užpildymui.
+ Mygtukas 1
+ Mygtukas 2
+ Mygtukas 3
+ Vienetai:
+ mg/dl
+ mmol/l
+ IVT:
+ Tikslinis diapazonas:
+ Vizualizacijos diapazonas
+ Aukštoji ir žemoji riba Apžvalgos grafikuose bei išmaniuosiuose laikrodžiuose
+ Žemoji riba
+ Aukštoji riba
+ Išmanieji laikrodžiai
+ Pakartotinai siųsti visus duomenis
+ Atidaryti išmaniojo laikrodžio nustatymus
+ Pompos klaida
+ Senka akumuliatorius
+ Pompa išsijungė
+ Pompos baterija išsikrovusi
+ DanaR Korean
+ Valandinė bazė:
+ Nepavyko nustatyti bazės profilio
+ Bazės profilis pompoje atnaujintas
+ Išjungti pompos EasyUI režimą
+ Aktyvuoti ištęstinius bolusus pompoje
+ Pakeisti pompoje vv/d režimą į vv/val
+ Valandinės bazės vertė mažesnė už minimalią. Profilis nenustatytas!
+ KG:
+ Paskutinė KG:
+ Daugkartinės injekcijos
+ MM640g
+ Nuolatinis pranešimas
+ SENI DUOMENYS
+ Prieš %1$d min
+ prieš %1$dmin
+ Vietinis profilis
+ OpenAPS AMA
+ Trumpo laikotarpio vidutinis pokytis
+ Ilgo laikotarpio vidutinis pokytis
+ %1$d elementų masyvas. \naktuali vertė:
+ Autosens duomenys
+ Scenarijų derinimas
+ Naudoti Autosens funkciją
+ Atnaujinti įvykius iš NS
+ Ištrinti ateities įrašus
+ Netrukus valgysiu
+ Hipo
+ Aktyvumas
+ Ištrinti įrašą:
+ DanaR statistika
+ BPD viso
+ Eksponentiškai svertinė BPD
+ Valandinė bazė
+ Bolusas
+ BPD bendroji paros dozė
+ Data
+ Koeficientas
+ # dienų
+ Svoris
+ Duomenys netikslūs, jei bolusai naudojami sistemos ar adatų užpildymui!
+ Duomenys seni, spauskite \"ATNAUJINTI\"
+ Pagrindinė bazė (PB)
+ PB * 2
+ Inicijuojama ...
+ VEIKS
+ KONF
+ CIKLAS
+ PP
+ AtvCiklas
+ VP
+ DANA
+ PRADŽIA
+ VPompa
+ NSprofilis
+ ĮRAŠ
+ PRIEŽ
+ TIKSL
+ WEAR
+ SMS
+ Naudoti sutrumpintus skirtukų pavadinimus
+ Visada naudoti trumpo laikotarpio vidutinį pokyti vietoj paprasto pokyčio
+ Naudinga, kai duomenys, gaunami iš nefiltruoto šaltinio, tokio kaip xDrip, tampa nestabilūs.
+ Papildomi nustatymai
+ Modelis: %1$02X Protokolas: %2$02X Kodas: %3$02X
+ Profilis
+ Numatytoji reikšmė: 3 tai pagrindinis OpenAPS saugiklis. Jis apriboja Jūsų valandinę bazę iki trigubos maksimalios valandinės bazės (standartiniu atveju). Jums greičiausiai neprireiks šios reikšmės keisti, tačiau turėtumėte žinoti, kad ji naudojama kaip saugiklis apskaičiuojant \"3x maksimali dienos bazė; 4x dabartinė valandinė bazė\".
+ Numatytoji reikšmė: 4 tai antras pagrindinis OpenAPS saugiklis, apskaičiuojant \"3x maksimali dienos bazė; 4x dabartinė valandinė bazė\". Jis reiškia, kad jūsų valandinė bazė, nepriklausomai nuo to, kokia maksimali valandinė bazė suprogramuota pompoje, negali būti didesnė, nei keturguba dabartinė valandinė bazė. Tai apsaugo Jus nuo pavojingų situacijų, kai nustatoma pernelyg didelė valandinė bazė, pilnai nesuprantant, kaip veikia algoritmas. Numatytoji reikšmė yra 4x; daugumai vartotojų niekada neprireikia šio skaičiaus keisti, o pajutus, kad \"atsitrenkiama\" į saugiklį, rekomenduojama peržiūrėti kitus nustatymus.
+ Numatytoji reikšmė: 1.2\nTai daugiklis Autosens (ir netrukus Autotune) funkcijoje, kuris nustato 20%% maksimalią ribą iki kurios Autosens gali padidinti valandinę bazę, sumažinti JIF ir tikslinę gliukozės vertę.
+ Numatytoji reikšmė: 0.7\nTai antras daugiklis Autosens funkcijoje, kuris nustato, kad Autosens gali iki minimalios 70 % ribos sumažinti valandinę bazę bei padidinti JIF ir tikslinę gliukozės vertę.
+ Autosens nustatomi tikslai
+ Numatytoji reikšmė: true\nTai suteikia Autosens funkcijai leidimą keisti tikslinės gliukozės vertes, JIF ir valandinę bazę.
+ Numatytoji reikšmė: 2\nBoluso snaudimas aktyvuojamas iškart po to, kai susileidžiate bolusą maistui. Ši funkcija neleidžia sistemai nustatyti mažų LBD iškart po valgio. Pvz.: jei IVT yra 3 val, tai boluso snaudimas pamažu deaktyvuojamas per 1,5 val (3 val. / 2).
+ Numatytoji reikšmė: 3.0 (AMA) arba 8.0 (SMB). Tai parametras, nurodantis angliavandenių poveikį kraujo gliukozei kas 5 minutes nuo jų suvartojimo. Numatytoji reikšmė yra 3 mg/dl per 5min. Šis skaičius turi įtakos apskaičiavimams, kaip greitai mažės AAO, kokia bus kraujo gliukozės kitimo prognozė, ypač kai ji krenta daugiau nei tikėtasi, arba nedidėja tiek, kiek tikėtasi.
+ Dėmesio!\nPaprastai neturėtumėte keisti šių, žemiau esančių, reikšmių. Prašome PASPAUSTI ČIA ir PERSKAITYKITE tekstą ir įsitikinkite, kad SUPRANTATE prieš keisdami bet kurią iš šių verčių.
+ Galimi tik skaičiai.
+ Galimi tik skaičiai intervale %1$s - %2$s.
+ Laukas negali būti tuščias
+ Telefono numeris negalioja
+ Neteisingas SMS telefono numeris
+ Kalibravimas
+ Siųsti kalibraciją %1$.1f į xDrip?
+ xDrip+ neįdiegta
+ Kalibracija nusiųsta į xDrip
+ Kalibracija išsiųsta. xDrip programoje turi būti įgalintas gavimas.
+ xDrip negauna kalibracijų
+ Pompa sustabdyta
+ Gaunamas pompos statusas
+ Laikinos bazės nustatymas
+ Laikinos bazės sustabdymas
+ Ištęsto boluso nustatymas
+ Ištęsto boluso sustabdymas
+ Bazė naujinama
+ Atsijungiama
+ Vykdoma
+ Virtualios pompos nustatymai
+ Perduoti būsenos duomenis į NS
+ Neteisingas slaptažodis
+ Nustatymų slaptažodis
+ Atrakinti nustatymus
+ Artėja paros insulino limitas
+ NSClient
+ NSCI
+ URL:
+ Automatinis slinkimas
+ Paleisti iš naujo
+ NSClient
+ Nightscout URL
+ Įveskite savo Nightscout URL
+ NS API secret
+ NS API secret
+ Įveskite NS API secret (min. 12 simbolių)
+ Suleisti dabar
+ Išvalyti eilę
+ Rodyti eilę
+ Eilė:
+ Statusas:
+ Pristabdyta
+ Ištrinti įrašą
+ NSCLIENT neturi įrašymo teisių. Ar teisingai įvedėte API secret?
+ Išmaniojo laikrodžio nustatymai
+ Rodyti AIO detaliai
+ Rodyti laikrodyje bazės ir bolusų AIO
+ Bandymas nesėkmingas - pasitikrinkite telefoną
+ Negalimas
+ Paciento amžius
+ Vaikas
+ Paauglys
+ Suaugęs
+ Insulinui rezistentiškas suaugęs
+ Pasirinkite paciento amžių saugumo riboms nustatyti
+ Glimp
+ %s įtraukite baterijos optimizavimą į baltąjį sąrašą, tinkamam veikimui užtikrinti
+ Ciklas sustabdytas
+ Sustabdyta (%1$d m)
+ Superbolusas (%1$d m)
+ Sustabdyti ciklą 1 val
+ Sustabdyti ciklą 2 val
+ Sustabdyti ciklą 3 val
+ Sustabdyti ciklą 10 val
+ Atjungti pompą 15 min
+ Atjungti pompą 30 min
+ Atjungti pompą 1 val
+ Atjungti pompą 2 val
+ Atjungti pompą 3 val
+ Atnaujinti
+ Prijungti pompą
+ Neteisinga trukmė
+ Ciklas sustabdytas
+ Ciklas atnaujintas
+ 15 min tendencija
+ AAO
+ Superbolus
+ Siųsti programos paleidimo žymę į NS
+ Uždarant aplikaciją, taikyti nustatymus.
+ DanaRv2
+ Insulinas
+ Kokio tipo insuliną naudojate?
+ Greito veikimo insulinas
+ Novorapid, Novolog, Humalog
+ Fiasp
+ INS
+ Įgalinti superbolusus skaičiuoklėje
+ Įgalina superbolusų naudojimą insulino skaičiuoklėje. Nenaudokite, kol nesuprantate, ką superbolus funkcija atlieka. NAUDODAMI AKLAI GALITE PERDOZUOTI INSULINO!
+ Pradžios ekrane rodyti spalvotus indikatorius
+ Pradžios ekrane rodyti spalvotus indikatorius adatos, insulino, sensoriaus naudojimo trukmei bei baterijos įkrovimo lygiui.
+ Įspėjimo apie žemą rezervuaro lygį riba [U]
+ Įspėjimo apie kritiškai žemą rezervuaro lygį riba [U]
+ Įspėjimo apie žemą baterijos įkrovimo lygį riba [%]
+ Įspėjimo apie kritiškai žemą baterijos įkrovimo lygį riba [%]
+ AIO
+ AAO
+ Programinė įranga
+ Paskutinis prisijungimas
+ Bluetooth statusas
+ Apie
+ Trūksta leidimo SMS
+ Trūksta telefono būsenos leidimo
+ xDrip statusas (laikrodžio)
+ xDrip linija (laikrodžio)
+ xds
+ Rodyti KG
+ Pridėti KG prie statuso linijos
+ Nėra įkėlimų į NS
+ Visi duomenys, kurie gali būti siunčiami į NS, paliekami. AAPS yra susieta su NS, bet jokie pokyčiai NS nedaromi
+ Bazės žingsnis
+ Boluso žingsnis
+ Ištęstas bolusas
+ Laik.tikslas
+ Atšaukti ištęstą bolusą
+ Sensoriaus naudojimo laikas
+ Adatos naudojimo laikas
+ Insulino naudojimo laikas
+ valandos
+ Valandinės bazės tipas
+ Netinkamas profilis!!!
+ Profilio keitimas
+ Pompos baterijos naudojimo laikas
+ Pompos baterijos pakeitimas
+ Aliarmų nustatymai
+ Kritiškai aukštas
+ Aukštas
+ Žemas
+ Kritiškai žemas
+ Seni duomenys
+ Kritiškai seni duomenys
+ Seni duomenys, riba [min]
+ Kritiškai seni duomenys, riba [min]
+ Autosens intervalas [h]
+ Valandų skaičius praeityje jautrumo nustatymui (angliavandenių įsisavinimo laikas neįtrauktas)
+ Pompa
+ AtviraDKS
+ Siuntėjas
+ Jautrumo nustatymas
+ Kurį jautrumo nustatymo algoritmą naudoti?
+ JAUTR
+ Jautrumo nustatymo algoritmas Oref0
+ Jautrumo nustatymo algoritmas Oref1
+ Jautrumo nustatymo algoritmas AAPS
+ Angliavandenių įsisavinimo parametrai
+ Maksimalus angliavandenių įsisavinimo laikas [h]
+ Laikas, per kurį visi maisto angliavandeniai, tikėtina, bus įsisavinti
+ Rodyti ištęstinį boliusą kaip %%
+ SAMŽ
+ IAMŽ
+ KAMŽ
+ PBAMŽ
+ OAPS
+ Siunt
+ VB
+ IštBol
+ Laikyti ekraną įjungtą
+ Neleidžia Android sistemai išjungti ekrano. Naudojama daug energijos, jei telefonas neprijungtas prie maitinimo šaltinio.
+ Įjungę Autosens funkciją nepamirškite įvedinėti visus valgomus angliavandenius. To nedarant, angliavandenių sukeliami gliukozės svyravimai bus klaidingai identifikuojami kaip jautrumo pasikeitimai!
+ Jautrumas pagal svertinį vidurkį
+ OK
+ Atšaukti
+ Ne visi profiliai įkelti!
+ Reikšmės neišsaugotos!
+ Įgalinti duomenų perdavimą kitoms programėlėms (kaip xDrip).
+ Įgalinti lokalų duomenų perdavimą.
+ AKTYVUMAS & ATGALINIS RYŠYS
+ ANGLIAVANDENIAI & BOLUSAS
+ CGM & OPENAPS
+ POMPA
+ Valandinė bazė [vv/val]
+ Trukmė [min]
+ OpenAPS SMB
+ SMB
+ Įjungti NDM
+ Įjungti SMB
+ Naudoti Super Mikro Bolusus vietoj laikinos bazės greitesniam veikimui
+ Nedeklaruoto maisto (NDM) aptikimas
+ AIO kreivės pikas
+ Piko laikas [min]
+ Oref be piko
+ Greito veikimo Oref
+ Staigaus veikimo Oref
+ IVT %1$f per trumpa - bus naudojama %2$f!
+ Aktyvuoti profilį
+ Data
+ KLAIDA
+ Laukiama ryšio su pompa
+ Sujungta
+ Sujungimui skirtas laikas baigėsi
+ SUJUNGIMAS
+ Nerasta jokio prietaiso
+ Rezervuaras tuščias
+ Gliukozės kiekio kraujyje matavimo perspėjimas
+ Likusio insulino kiekis
+ DanaRS
+ Dana
+ Pasirinkta pompa
+ Susieti naują pompą
+ Boluso greitis
+ Nustatyti bazės žingsnį 0.01 vv/val
+ Serijos numeris
+ Procentais
+ Laiko perstūmimas
+ Numatyti Laikini Tikslai
+ \"Netrukus valgysiu\" trukmė
+ \"Netrukus valgysiu\" tikslas
+ \"Aktyvumas\" trukmė
+ \"Aktyvumas\" tikslas
+ \"Hipo\" trukmė
+ \"Hipo\" tikslas
+ Užpildyti sistemą
+ Gaunamas ištęstinio boluso statusas
+ Gaunamas boluso statusas
+ Gaunamas laikinos bazės statusas
+ Gaunami pompos nustatymai
+ Gaunamas pompos laikas
+ naudoti pakartotinai
+ Laikrodžio valdikliai
+ Nustatyti Laikinus Tikslus ir įvesti terapinius įrašus iš laikrodžio.
+ Prijungimo laikas baigėsi
+ Maistas
+ g
+ min
+ val
+ ]]>
+ kJ
+ Energ. vertė
+ Balt.
+ Rieb
+ ]]>
+ Laukiama boluso pabaigos. Liko %1$d s.
+ Apdorojama
+ Pradedamas bolusas
+ Komanda vykdoma
+ Pompos valdiklis pakoreguotas
+ Pompa nepasiekiama
+ Negauti KG duomenys
+ Naudoti sistemos perspėjimus aliarmams ir įspėjimams
+ Lokalūs perspėjimai
+ Perspėjimas apie negautus KG duomenis
+ Perspėjimas apie nepasiekiamą pompą
+ Perspėjimo apie nepasiekiamą pompą riba [min]
+ Kritiniai perspėjimai
+ INFO
+ Bluetooth
+ BT Watchdog
+ Vienai sekundei išjungia telefono bluetooth, jei ryšys su pompa nutrūksta. Gali būti veiksminga kai kuriems telefonų modeliams, turintiems BT problemų.
+ Dexcom G5 programėlė (modifikuota)
+ Dexcom G6 programėlė (modifikuota)
+ Eversense programėlė (modifikuota)
+ Perduoti KG duomenis į NS
+ KG duomenų perdavimo nustatymai
+ Rodyti gliukozės pokyčio detales
+ Rodyti pokytį su reikšme po kablelio
+ SMB atitinka valandinės bazės insulino kiekį, kuris gaunamas ne daugiau, kaip per
+ Pompos programinės įrangos versija nepalaikoma
+ Siųsti KG duomenis į xDrip+
+ Xdrip+ pasirinkite 640g/Eversense duomenų šaltinį
+ NSClient KG
+ Valandinė bazė pakeista mažiausia palaikoma verte: %1$s
+ Valandinė bazė pakeista didžiausia palaikoma verte: %1$s
+ KG apskaičiavimas
+ Bolusų AIO apskaičiavimas
+ Bazės AIO apskaičiavimas
+ Tendencijos apskaičiavimas
+ Superboluso apskaičiavimas
+ Taip
+ Ne
+ Tik teigiamas
+ Tik neigiamas
+ AAO apskaičiavimas
+ Laikino tikslo apskaičiavimas
+ Ciklas aktyvuotas
+ DKS pasirinkta
+ NSClient turi leidimą įrašyti
+ Uždaras ciklas aktyvus
+ Maksimalus AIO nustatytas tinkamai
+ KG šaltinis pasirinktas teisingai
+ Bazės reikšmės nesuderintos su valandomis: %1$s
+ Netinkamas profilis: %1$s
+ Programuojamas bolusas
+ Atnaujinti
+ Būsena
+ Aktyvumas
+ Nėra ryšio su pompa %1$d min
+ %1$d%% (liko%2$d min)
+ Inicijuojama
+ Sustabdyta dėl klaidos
+ Sustabdyta vartotojo
+ Vykdoma
+ Laikina bazė atšaukiama
+ Nustatyti laikiną bazę (%1$d%% / %2$d min)
+ Bolusas (%.1f vv)
+ Atnaujinama
+ Pompa negali įvykdyti prašomos operacijos
+ Nesaugu: aktyvus ištęstinis arba dvibangis bolusas. Ciklas nustatytas stabdymui prie žemo tik 6 valandoms. Aktyvūs tik paprasti bolusai.
+ Nesaugu: pompoje nustatytas ne pirmasis bazės profilis. Ciklo režimas išjungtas. Pasirinkite pirmąjį bazės profilį pompoje ir spauskite atnaujinti.
+ Tokio paties dydžio bolusas buvo nustatytas per paskutines dvi minutes. Siekiant išvengti atsitiktinio perdozavimo ir programos klaidų, veiksmas neleidžiamas.
+ Dabar
+ Skaitoma pompos istorija
+ Pompos istorija
+ Nustatyti bazės profilį
+ Pompos rezervuaras beveik tuščias
+ Pompos baterija baigia išsikrauti
+ Pompa rodo klaidą E%1$d: %2$s
+ Žemas
+ Tuščias
+ Normalus
+ Būtina atnaujinti pompos laikrodį
+ Perspėjimas
+ Laikinos bazės atšaukimo perspėjimas patvirtintas
+ Nepavyko prijungti pompos. Bolusas nesuleistas
+ Boluso suleisti nepavyko. Panašu, kad nė kiek insulino nesuleista. Patikrinkite pompos įstoriją, kad įsitikintumėte tuo, ir bandykite vėl. Bolusai nekartojami automatiškai, siekiant apsisaugoti nuo programos klaidų.
+ Dėl įvykusios klaidos tik %1$.2f vv iš užprogramuotų %2$.2f vv suleista. Patikrinkite pompos istoriją ir imkitės reikalingų veiksmų.
+ Suleidžiant bolusą ir tikrinant pompos istoriją įvyko klaida, todėl patikrinkite pompą. Jei bolusas buvo suleistas, įrašas apie tai atsiras žurnale, kai ryšys su pompa atsinaujins.
+ Rezervuare nepakanka insulino bolusui
+ Ištęstinio boluso suleidimo klaida
+ Sight
+ Insight pompa
+ Būsena
+ Pakeista
+ POMPA SUSTABDYTA
+ Būsena atnaujinta
+ prieš
+ su
+ Aktyvi laikina bazė
+ liko minučių
+ Žurnalas
+ Paskutinis užbaigtas veiksmas
+ min.
+ liko virš
+ iš viso
+ iš anksto
+ Likti prisijungus visada
+ NEVEIKLUMAS
+ SINCHRONIZAVIMAS
+ UŽIMTA
+ SINCHRONIZUOTA
+ PALEISTIS
+ būtina
+ Nesate prisijungę prie lydinčios programėlės!
+ Lydinčioji programėlė neinstaliuota!
+ Nesuderinama lydinčioji programėlė, reikalinga versija
+ Nežinoma
+ Laukiama kodo patvirtinimo
+ Kodas atmestas
+ Sujungiama su programa
+ Neautorizuota
+ Nesuderinama
+ sek.
+ min.
+ val.
+ diena
+ savaitė
+ sek.
+ %1$ds baigiasi %2$s
+ Aktyvumo statusas
+ Statistika
+ Išankstinis sujungimas
+ Siekiant išvengti vėlavimo, automatiškai susijungti su pompa, kai AndroidAPS atidaroma, nelaukiant komandos pompai.
+ Nerekomenduojama dėl greito akumuliatoriaus iškrovimo
+ Leisti SMB visada
+ Leisti SMB visada, nepriklausomai nuo bolusų. Įmanoma tik naudojant patikimų, filtruotų KG duomenų šaltinį, pvz.: Dexcom G5
+ Leisti SMB po angliavandenių įvedimo
+ Leisti SMB iki 6 val po angliavandenių įvedimo, net jei AK yra 0. Įmanoma tik naudojant patikimų, filtruotų KG duomenų šaltinį, pvz.: Dexcom G5
+ Leisti SMB su AAO
+ Įjungti SMB, kai yra AAO.
+ Į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)
+ Paleisti laikinąją bazę
+ Nutildyti
+ Insulinas
+ Angliavandeniai
+ Mygtukai
+ Siunčia kalibravimą į xDrip+ arba atidaro G5 kalibravimo dialogą
+ Atidaro xDrip+, o mygtukas ATGAL gražina į AAPS
+ Paspaudus mygtuką įvedamas nustatytas angliavandenių kiekis
+ Paspaudus mygtuką įvedamas nustatytas insulino kiekis
+ Nepavyko paleisti CGM programos. Įsitikinkite, kad ji įdiegta.
+ CGM
+ Istorija
+ Pranešti apie SMB
+ Rodyti SMB laikrodyje kaip standartinį bolusą.
+ Kurti klaidų pranešimus
+ Sukurti Nightscout pranešimus apie klaidas ir vietinius įspėjimus (taip pat matomi Priežiūroje prie Terapijos)
+ Rodyti prognozes laikrodyje.
+ Prognozė
+ Duomenų pasirinkimas
+ Duomenų perdavimas kūrėjams
+ Leisti automatinį pranešimų apie programos trikdžius ir funkcijų naudojimo duomenų siuntimą kūrėjams, naudojant fabric.io servisą.
+ Atnaujinkite savo Dexcom programėlės versiją
+ Pradėti Aktyvumo LT
+ Pradėti Netrukus valgysiu LT
+ LT
+ Boluso nesuleisti, tik įrašyti
+ Kategorija
+ Subkategorija
+ Bolusas bus tik įrašytas
+ Automatiškai atstatyti trūkstamus KG duomenis iš NS
+ SMB nustatyta iš pompos
+ Jautrumas insulinui
+ Nuokrypiai
+ Aktyvūs angliavandeniai
+ Aktyvus insulinas organizme
+ Valandinės bazės
+ Veiksmas nepasirinktas, nieko neįvyks
+ Pradėti \"Hipo\" LT
+ Naudojama neužbaigta versija. Uždaras ciklas neaktyvus.
+ Inžinerinis režimas įjungtas
+ Inžinerinis režimas negalimas vartotojo atšakoje
+ %.2f vv/val
+ Nuskaitomas bazės profilis
+ Skaičiuojant bolusą pasikeitė pompos istorija. Bolusas nesuleistas. Prašome perskaičiuoti, jei boluso vis dar reikia.
+ Bolusas sėkmingai suleistas, tačiau įrašas žurnale neįvestas. Taip gali nutikti, jei du vienodi nedideli bolusai suleisti per pastarąsias 2 min. Patikrinkite pompos istoriją ir įrašų žurnalą bei naudodamiesi Careportal įveskite trūkstamus įrašus. Patikrinkite, ar įvedamas įrašas neturi tokios pat laiko žymos ir insulino kiekio, kaip jau egzistuojantis.
+ Laikinas tikslo padidinimas atšauktas, nes skaičiavimuose neatsižvelgta į neseniai pakeistą pompos istoriją
+ Atnaujinama pompos būklė
+ Valandinė bazė pompoje pasikeitė ir netrukus bus atnaujinta
+ Valandinė bazė pompoje pasikeitė, bet nuskaityti nepavyko
+ Tikrinami istorijos pokyčiai
+ Keletas bolusų su tuo pačiu kiekiu buvo importuoti per tą pačią minutę. Tik vienas įrašas gali būti pridėtas. Prašome patikrinti pompą ir rankiniu būdu įveskite bolusą, naudojant Priežiūra skiltį. Įsitikinkite, kad boluso įrašo laikas nesutampa su kitais įrašais.
+ \n\nhttp://www.androidaps.org\nhttp://www.androidaps.de (de)\n\nfacebook:\nhttp://facebook.androidaps.org\nhttp://facebook.androidaps.de (de)
+ Paskutinis bolusas įrašytas anksčiau nei prieš 24 val. arba yra ateityje. Prašome patikrinti, ar data pompoje nustatyta teisingai.
+ Suleisto boluso laikas/data pompoje yra neteisingas, AIO panašu yra nekorektiškas. Prašome patikrinti pompos laiką/datą.
+ Neatliktas profilio keitimas. Prašome atlikti profilio keitimą arba paspausti \"Aktyvuoti profilį\" Vietinio profilio (VP) skiltyje.
+ Bolusų skaičius
+ LBD skaičius
+ %1$d tikslas nepradėtas
+ %1$d tikslas nepasiektas
+ Pompa negali nustatyti laikinos bazės
+ Jokio tinkamo bazės kiekio nenuskaityta iš pompos
+ Uždaro ciklo būsena išjungta nustatymuose
+ Autosens funkcija išjungta nustatymuose
+ SMB išjungti nustatymuose
+ NDM nustatymas išjungtas nustatymuose
+ NDM neveikia, nes priklauso nuo Oref1 jautrumo įskiepio
+ Ribojamas maksimalus bazės greitis %1$.2f vv/val dėl %2$s
+ pompos limitas
+ reikšmė turi būti teigiama
+ maksimalus bazės daugiklis
+ maksimalus paros bazės daugiklis
+ Bolusas buvo suleistas per paskutines 3 minutes, praleidžiant SMB
+ Bazė nustatyta teisingai
+ Ribojamas maks procentų kiekis %1$d%%, nes %2$s
+ Bolusas ribojamas iki %1$.1f vv dėl %2$s
+ Ištęstinis bolusas ribojamas iki %1$.1f vv dėl %2$s
+ Ribojamas maks AIO iki %1$.1f vv dėl %2$s
+ Ribojami angliavandeniai iki %1$d g dėl %2$s
+ Ribojamas AIO iki %1$.1f V dėl %2$s
+ Maksimali reikšmė nustatymuose
+ Nekeičiama riba
+ Nesaugus naudojimas
+ Būsenos nuskaityti nepavyko
+ Įrašas apie infuzijos rinkinio keitimą
+ Įrašas apie rezervuaro keitimą
+ Funkcijos \"SMB visada\" ir \"SMB po angliavandenių\" išjungtos, nes kraujo gliukozės duomenų šaltinis neturi reikalingo filtravimo
+ SMB neleidžiami atviro ciklo režime
+ Maistas
+ atstatyti
+ Laukiama laiko sinchronizavimo (%1$d sek.)
+ Nesujungta (%1$d min.)
+ Automatiniai priežiūros įvykiai
+ Automatiškai įkelti insulino, kanulės ir baterijos pakeitimus ir pompos aliarmus į Nightscout
+ Maksimalus bendras AIO, kurio negali viršyti OpenAPS [U]
+ Ši vertė yra vadinama Maks AIO OpenAPS kontekste\nOpenAPS nepridės daugiau insulino, jei dabartinis AIO yra didesnis už šią vertę
+ Pompa sustabdyta
+ Pompa paleista
+ Pompa pristabdyta
+ Maksimalus maisto įsisavinimo laikas [h]
+ Laikas, per kurį bet koks maistas laikomas įsisavintu. Likę angliavandeniai bus atmesti.
+ Laikas
+ Rodyti pastabų laukelį terapijos dialoguose
+ Kitas
+ Ankstesnis
+ Sąrankos vedlys
+ UŽBAIGTI
+ Pasirinkite kalbą
+ Įvesta: %1$.2fvv Suleista: %2$.2fvv Klaidos kodas: %3$s
+ Pirmas insulino dozės žingsnis
+ Antras insulino dozės žingsnis
+ Trečias insulino dozės žingsnis
+ Pirmas angliavandenių kiekio žingsnis
+ Antras angliavandenių kiekio žingsnis
+ Trečias angliavandenių kiekio žingsnis
+ CGM
+ Naudoti tik WiFi
+ WiFi pavadinimas
+ Tik įkraunant
+ Ryšio nustatymai
+ Leidžiami tinklai (atskirti kabliataškiais)
+ Leisti sujungimą tarptinkliniu ryšiu
+ Maksimali Autosens reikšmė
+ Minimali Autosens reikšmė
+ Boluso snaudimo daliklis
+ Maksimalus dienos bazės saugos daugiklis
+ Dabartinės bazės saugos daugiklis
+ n/a
+ Virtualios pompos tipas
+ Pompos nustatymas
+ Bolusas: Žingsnis=%1$s\nIštęstinis bolusas: [Žingsnis=%2$s, Trukmė=%3$smin-%4$sh]\nBazė: Žingsnis=%5$s\nLDB: %6$s (iš %7$s), Trukmė=%8$smin -%9$sh\n%10$s
+ * Virtualioje pompoje palaikomos tik atskiros vertės, o ne diapazonas detalumui užtikrinti.
+ Automatiškai užpildyti trūkstamus KG duomenis
+ Išmaniojo laikrodžio nustatymai
+ Skaičiavimai, įtraukti į Patarėjo rezultatą:
+ Ekrano nustatymai
+ Bendrieji nustatymai
+ Įjungti NSClient
+ Sveiki atvykę į sąrankos vedlį. Jis lydės jus per visą nustatymų procesą\n
+ Pompos nustatymai
+ Statuso nuskaitymas
+ Pakeitimai turi būti daromi NS
+ Praleisti sąrankos vedlį
+ Paspauskite mygtuką žemiau, norėdami leisti AndroidAPS patarti/atlikti bazės pakeitimus
+ Paspauskite mygtuką žemiau, norėdami aktyvuoti Tikslus. Užbaigę sąranką apsilankykite Tikslų skiltyje, kad AndroidAPS būtų visiškai funkcionali.\n
+ Aktyvuoti Tikslus
+ Konfigūruoti DKS įskiepį
+ Konfigūruoti Jautrumo nustatymo įskiepį
+ Jautrumo įskiepis yra naudojamas jautrumo aptikimui ir AAO skaičiavimams. Daugiau informacijos:
+ https://github.com/MilosKozak/AndroidAPS/wiki/Sensitivity-detection-and-COB
+ NSClient palaiko ryšį su Nightscout. Jūs galite praleisti šią dalį dabar, bet negalėsite pradėti mokymosi programos, kol nenustatysite ryšio su NS.
+ Atminkite: DKS profiliams reikia IVT bent 5 val. IVT = 5 - 6 val DKS profilyje atitinka IVT = 3 val sename (pompos terapijos) insulino profilyje.
+ Sukonfigūruoti KG šaltinį
+ Prašome pasirinkti profilį. Jei pacientas yra vaikas, turite naudoti NS profilį. Jei niekas neseka jūsų Nightscout platformoje, tada geriau pasirinkti Vietinį profilį. Atminkite, kad čia Jūs tik pasirenkate profilio šaltinį. Norėdami jį aktyvuoti, turite atlikti Profilio keitimą
+ Pasirinkite vieną iš esamų algoritmų. Jie yra išdėstyti nuo seniausio iki naujausio. Naujesni algoritmai yra galingesni ir agresyvesni. Taigi jei esate naujas vartotojas, geriau pradėti nuo AMA, o ne naujesnio. Nepamirškite perskaityti dokumentaciją ir sukonfigūruoti jį prieš naudojant.
+ Pradėti jūsų pirmąjį tikslą
+ Leidimas
+ Prašyti leidimo
+ Aplikacijai reikia vietos nustatymo leidimo BT skenavimui atlikti
+ Aplikacijai reikia leidimo prieigai prie saugyklos, kad galėtų išsaugoti žurnalo įrašus
+ Užklausa
+ Konfigūruoti insulino įskiepį
+ Išeiti
+ Vartotojo parinktys
+ Rodyti laiko formatą
+ Mygtukų slinkties funkcija
+ Pypsėjimas spaudžiant mygtukus
+ Aliarmas
+ Garsas
+ Vibravimas
+ Abu
+ Ekrano aktyvumo laikas [s]
+ Ekrano apšvietimo laikas [s]
+ KG vienetai
+ Išjungimas (val.)
+ Žemas rezervuaro lygis (vv)
+ Išsaugoti nustatymus pompoje
+ Įjungti
+ Išjungti
+ Atidaryti meniu
+ Uždaryti meniu
+ Įskiepių nustatymai
+ Užbaigta, puiku!
+ Dar nebaigta
+ Praėjo laiko
+ %1$d. tikslas
+ Poctech
+ Gauti KG vertes iš Poctech programėlės
+ Gauti KG vertes iš Tomato programėlės (MiaoMiao)
+ Intensyvus laikinas tikslas didina jautrumą
+ = 100]]>
+ Pasyvus laikinas tikslas mažina jautrumą
+
+ Netinkami pompos nustatymai, patikrinkite dokumentaciją ir įsitikinkite, kad Quick info meniu yra pavadintas QUICK INFO, naudojant 360 configuration software.
+ Pasirinktinis
+ Didelis laiko neatitikimas
+ Didelis laiko skirtumas:\nLaikas pompoje skiriasi daugiau nei 1,5 val.\nNustatykite laiką pompoje rankiniu būdu ir įsitikinkite, kad įrašai iš pompos istorijos nesukelia netikėtų sistemos veiksmų.\nJei įmanoma, ištrinkite istoriją pompoje prieš keisdami laiką arba atjunkite uždarąjį ciklą vienai IVT po paskutinio neteisingo istorijos įrašo ar mažiausiai vienai IVT nuo dabar.
+ Ištrinti \"AndroidAPS paleista\" įrašus
+ Rasti išsaugoti nustatymai
+ Dėmesio: jei aktyvuosite ir prijungsite prie aparatinės pompos, AndroidAPS nukopijuos bazės nustatymus iš profilio į pompą, pakeisdamas esančius nustatymus pompoje. Įsitikinkite, kad turimi bazės nustatymai AndroidAPS yra teisingi. Jei nesate tikri arba nenorite iš naujo keisti bazės nustatymų jūsų pompoje, paspauskite atšaukti ir pakartokite prijungimą prie pompos kitą kartą.
+ Terapijos duomenys nepilni
+ Serviso nustatymai
+ El. paštas
+ Neteisingas el. pašto adresas
+ Siunčiamų įrašų skaičius
+ Servisas
+ Serv
+ Pateikia keletą serviso funkcijų (pvz., žurnalo įrašų siuntimas ar ištrynimas).
+ Siųsti įrašus el. paštu
+ Ištrinti įrašus
+ Įrašas (insulinas: %1$.2f, angl.: %2$d, ties: %3$s) negali būti pridėtas. Prašome patikrinti ir rankiniu būdu atitinkamai įtraukti įrašą.
+ eAngl.: %1$d g (%2$d h), atidėjimas: %3$d m
+ Nėra autosens duomenų
+ Įrašų nustatymai
+ Atkurti numatytuosius
+ NSClient sutrikimas. Reikėtų paleisti iš naujo NS ir NSClient.
+ AS
+ Versiją %1$s jau galima naudoti
+ Laiko poslinkis
+ Pageidaujamas DKS režimas
+ Viso
+ Skaič.
+ Ryšio užmezgimas
+ Siųsti šios dienos žurnalo įrašus kūrėjams dabar. Netikėta situacija.
+ Pažeistas maks boluso limitas
+ Komandos klaida
+ Greičio klaida
+ Pažeistas insulino dozės limitas
+ Minimalaus pokyčio užklausa [%]
+ Ciklas parodys naujų pakeitimų užklausą tik tada, kai pokytis bus didesnis nei ši vertė. Numatytoji vertė yra 20%
+ Atnaujinkite pompos ir telefono ryšį!
+ Ieškoma įrenginių…
+ Palaukite…
+ Sujungimas sėkmingas
+ Ar kodas, kurį matote įrenginyje, sutampa su pompos kodu?
+ Insight sujungimas
+ Accu-Chek Insight
+ %1$.2fvv iš %2$.2fvv suleista
+ %1$s: %2$s
+ Kateteris pakeistas
+ Pompos laikas pakeistas
+ Patvirtinti
+ Nutildyti
+ Pompos aliarmas
+ Įrašyti adatos pakeitimą
+ Įrašyti rezervuaro keitimus
+ Įrašyti infuzijos vamzdelio pakeitimą
+ Įrašyti baterijos pakeitimą
+ Įrašyti darbo režimo pakeitimus
+ Įrašyti įspėjimus
+ Aktyvuoti LBD emuliaciją
+ Naudoti ištęstinius bolusus vietoj laikinos bazės, kai viršijama 250%% riba
+ Atjungimo vėlavimas [s]
+ Serijos numeris
+ Išleistos programinės įrangos versija
+ UI procesoriaus programinės įrangos versija
+ PC procesoriaus programinės įrangos versija
+ MD tel procesoriaus programinės įrangos versija
+ Saugos procesoriaus programinės įrangos versija
+ BT info puslapio versija
+ Bluetooth adresas
+ Sistemos ID priedėlis
+ Pagaminimo data
+ Panaikinti sąsają
+ Sąsajos informacija
+ Atnaujinti būseną
+ Paleisti pompą
+ Sustabdyti pompą
+ Darbinis režimas
+ Būsena
+ BPD bolusai
+ BPD bazė
+ BPD viso
+ Atstatoma
+ Nesusieta
+ Paskutinis prisijungimas
+ Pradžia
+ Sustabdyta
+ %1$d%% - %2$d / %3$d min
+ Ištęstas bolusas
+ Daugiabangis bolusas
+ %1$.2f / %2$.2f vv per %3$d min
+ Įjungti pranešimus apie LBD pabaigą\n(pompos nustatymai)
+ Išjungti pranešimus apie LBD pabaigą\n(pompos nustatymai)
+ Atnaujinti
+ Accu-Chek Insight pompos integracija
+ Neįvestas
+ Paskutinis prisijungimas: prieš %1$d min
+ LBD: %1$d%% - %2$d / %3$d min
+ Ištęstas: %1$.2f / %2$.2f V %3$d min
+ Daugiabangis: %1$.2f / %2$.2f vv %3$d min
+ BPD: %1$.2f
+ Rez.: %1$.2fvv
+ Bat.: %1$d%%
+ Didž. atkūrimo trukmė [s]
+ Min. atkūrimo trukmė [s]
+ Atkūrimo trukmė
+ Ryšio užmezgimui skirtas laikas baigėsi - iš naujo nustatykite bluetooth
+ == ∑ %1$s vv
+ vv/val
+ g/vv
+ /vv
+ Registruoti sensoriaus keitimą NS
+ Sukurti įvykį \"Sensoriaus keitimas\" NS automatiškai, startavus sensorių
+ Tomato (MiaoMiao)
+ Tomato
+ Laiko persukimas įvyks po 24 val ar mažiau
+ Laikas persuktas prieš mažiau nei 3 val - Uždaras ciklas deaktyvuotas
+ vidinės saugyklos apribojimas
+ Atlaisvinkite ne mažiau kaip %1$d MB iš vidinės atminties! Ciklas išjungtas!
+ Neteisingas formatas
+ Neteisingas kodas. Komanda atšaukta.
+ Nesukonfigūruota
+ Profilio perjungimas sukurtas
+
+ %1$d diena
+ %1$d diena
+ %1$d dienų
+ %1$d dienos(-ų)
+
+
+ %1$d valanda
+ %1$d valandos
+ %1$d valandų
+ %1$d valandų
+
+
+ %1$d minutė
+ %1$d minutė(s)
+ %1$d minučių
+ %1$d minutės(-čių)
+
+
diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml
index 42c567f870..405918431f 100644
--- a/app/src/main/res/values-nl/strings.xml
+++ b/app/src/main/res/values-nl/strings.xml
@@ -9,7 +9,6 @@
Reset databaseWil je echt de database wissen?Afsluiten
- Gebruik vertraagde bolussen voor >200%DanaR Bluetooth apparaatGebruik altijd absolute basale waardenHerstart je telefoon of herstart AndroidAPS vanuit de systeem instellingen a. u. b. \nanders zal AndroidAPS geen logboek hebben (Belangrijk om te controleren of de algoritmes correct werken)!
@@ -309,7 +308,6 @@
StopSTOP INGEDRUKTWacht op pomp
- Er worden %.2fE toegediendOpzetten van visualisatie en monitoring en analyzeren van basaal en ratio\'sControleren van beschikbaarheid BG en insuline pomp data op NightscoutStarten met de Open Loop modus
@@ -333,7 +331,6 @@ Stel in en gebruik tijdelijk en standaard tijdelijke streefdoelen (bv. bij sport
Loop is uitgeschakeldLoop is ingeschakeld%1$.2f gelimiteerd tot %2$.2f
- Waarde %s is buiten de toegestane limietenCommando\'s op afstand zijn niet toegestaanOm de loop te onderbreken voor %1$d minuten antwoord met de code %2$sTijdelijk basaal %1$.2fE/u voor %2$d minuten succesvol gestart
@@ -447,7 +444,6 @@ Stel in en gebruik tijdelijk en standaard tijdelijke streefdoelen (bv. bij sport
ProfielStandaard waarde: 3.0 Dit is een belangrijke veiligheid parameter van OpenAPS. Dit limiteert je basaal met een max van 3 maal je hoogste basale dosis. Normaal hoef je deze niet te veranderen. Het is echter belangrijk dat je de ingebouwde limieten kent.Standaard waarde: 4 Dit is een combinatie van enerzijds het OpenAPS veiligheid limieten en anderzijds van “3 x max dagelijks basaal; 4x actueel”. Dit betekent dat het basaal niet hoger kan ingesteld worden dan het ingestelde nummer keer het actueel basaal waarbij de limiet in de pomp geen invloed heeft. Dit is een veiligheidsmaatregel om te voorkomen dat patiënten in gevaarlijke laag bereik komen zonder te snappen hoe het algoritme werkt. Nogmaals de standaard waarde is 4x; de meeste zullen deze waarde nooit moeten aanpassen maar zullen eerder andere waardes moeten aanpassen als ze tegen een limiet aanstoten.
- Standaard waarde: 1.2\nDit betekent dat de verhoging voor autosense ratio (en autotune ratio) is ingesteld op max 20%. Maw. een limiet in hoeverre je basaal kan worden verhoogd en hoeveel je ISF en BG doel verlaagd kan worden.Standaard waarde: 0.7\nDit is de andere kan van de autosens veiligheid limiet. Dit zet een limiet op hoe laag het basaal kan aangepast worden, en hoe hoog het ISF en het streef BG.Autosens past de streefwaardes ook aanStandaardwaarde: waar Dit wordt gebruikt om autosens de bevoegdheid te geven BG doelen aan te passen alsook ISF en basalen
@@ -460,7 +456,6 @@ Stel in en gebruik tijdelijk en standaard tijdelijke streefdoelen (bv. bij sport
Telefoon nummer niet conformFoutief SMS telefoon nummerKalibratie
- Verzend calibratie %.1f naar xDrip?xDrip+ niet geïnstalleerdKalibratie naar xDrip verzondenKalibratie verzonden. Het ontvangen van kalibraties moet actief zijn in xDrip.
@@ -601,7 +596,6 @@ Stel in en gebruik tijdelijk en standaard tijdelijke streefdoelen (bv. bij sport
Opname instellingenMax absorptietijd maaltijd [uur]Verwachte tijd in uren totdat alle koolhydraten opgenomen zijn
- Toon vertraagde bolussen in % aanSAGEIAGECAGE
@@ -714,8 +708,6 @@ Stel in en gebruik tijdelijk en standaard tijdelijke streefdoelen (bv. bij sport
Stuur BG data naar xDrip+In xDrip+ kies 640g/Eversense data bronNSClient BG
- Basale waarde vervangen door minimaal ondersteunde waarde; %s
- Basale waarde vervangen door maximale ondersteunde waarde: %sBG berekeningBolus IOB berekeningBasaal IOB berekening
@@ -733,8 +725,6 @@ Stel in en gebruik tijdelijk en standaard tijdelijke streefdoelen (bv. bij sport
Closed modus actiefMaximum IOB juist ingesteldBG beschikbaar op gekozen bron
- Basale patroon niet geschikt op complete uren: %s
- Ongeldig profiel: %sBolus in pomp programmeren VernieuwStatus
@@ -1075,7 +1065,6 @@ Stel in en gebruik tijdelijk en standaard tijdelijke streefdoelen (bv. bij sport
Werkingsmodus-wissel noterenAlarm noterenTBR-emulatie inschakelen
- Gebruik Vertraagde Bolus ipv TBRs om de limiet van 250% te omzeilenVerbindingsvertraging [s]SerienummerRelease softwareversie
diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index 303a53d678..18f711530c 100644
--- a/app/src/main/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
@@ -9,7 +9,6 @@
Zresetuj bazy danychNa pewno chcesz zresetować bazy danych?Wyjście
- Używaj przedłużonych bolusów >200%Urządzenie Bluetooth DanaRZawsze używaj wartości bezwzględnych bazyProszę uruchomić ponownie telefon lub zrestartować AndroidAPS w ustawieniach systemu telefonu \ninaczej AndroidAPS nie będzie otrzymywał logowań (ważne ze względu na śledzenie i sprawdzanie poprawności działania algorytmów)!
@@ -54,6 +53,7 @@
Monitoruj i kontroluj AndroidAPS, korzystając z SmartWatch WearOS.Pokaż informacje o swojej pętli na watchface xDrip+.Zdalne sterowanie AndroidAPS za pomocą poleceń SMS.
+ CofnijStartSprawdźJednostki
@@ -265,6 +265,10 @@
Aby dostarczyć bolus %1$.2fU wprowadź kod %2$sAby wysłać kalibrację %1$.2f wprowadź kod %2$sBolus nieudany
+ Bolus %1$.2fU dostarczony prawidłowo
+ Zamierzam podać %1$.2fU
+ Bolus %1$.2fU dostarczony prawidłowo
+ Dostarczam %1$.2fUZezwalaj na komendy zdalne via SMSPalecSensor
@@ -309,7 +313,6 @@
StopNACIŚNIĘTY STOPCzekam na pompę
- Zamierzam podać %.2fUKonfiguracja wizualizacji i monitorowania, analiza dawek i wartości bazowychSprawdź czy BG (pomiary cukru) są dostępne w Nightscout, i dane pompy insulinowej są ładowaneUruchamiam otwartą pętle (OpenLoop)
@@ -332,7 +335,6 @@
Pętla (Loop) jest wyłączonaPętla (Loop) jest włączona%1$.2f ograniczone do %2$.2f
- Wartość %s jest poza dopuszczalną granicąZdalne komendy nie są dozwoloneAby wstrzymać pętle na %1$d minut odpowiedz kodem %2$sTymczasowa baza %1$.2fU/h przez %2$d min rozpoczęta
@@ -446,7 +448,6 @@
ProfilWartość domyślna: 3 To jest kluczowy współczynnik bezpieczeństwa OpenAPS. Ogranicza dawki bazowe do 3x twojej największej dawki bazowej. Prawdopodobnie nie będziesz musiał tego zmieniać, ale powinieneś być świadomy tego, co się rozumie przez “3x max dzienna; 4x aktualna” dla współczynników bezpieczeństwa.Wartość domyślna: 4 To jest drugi kluczowy współczynnik bezpieczeństwa OpenAPS, i druga wartość z “3x max dzienna; 4x aktualna”. To oznacza, że Twoja dawka bazowa niezależnie od maksymalnej bazy ustawionej na pompie nie może być większa niż ta ustawiona wartość razy twoja aktualna dawka bazowa. To ma na celu przestrzec ludzi przed ustawieniem zbyt wysokiej dawki maksymalnej przed zrozumieniem jak działa algorytm. Ponownie, wartość domyślna to 4x; większość ludzi nie będzie potrzebowała tego zmienić i raczej będą potrzebować dostosować inne ustawienia, jeśli czują, że zbliżają się do współczynnika bezpieczeństwa.
- Wartość domyślna: 1.2\nTo jest mnożnik dla autosens (wkrótce autotune), ustawia 20% maks. limit dla najwyższej wartości jaką autosens może przyjąć, co z kolei określa jak wysoko autosens może zwiększyć bazę, jak nisko może ustawić współczynnik wrażliwości insuliny ISF, i jak nisko może ustawić docelową wartość glikemii.Wartość domyślna: 0.7\nDruga strona limitu bezpieczeństwa dla autosens, ustawia mnożnik minimalny dla wartości, do jakiej autosens może obniżyć bazę, i jak wysoko może ustawić ISF i wartość docelową BG.Autosens wpływa na wartości doceloweDomyślnie włączone\nTa funkcja pozwala wpływać na zmianę wartości docelowe BG, wartości bazy i oraz współczynnika wrażliwości na insulinę ISF.
@@ -459,7 +460,6 @@
Nieprawidłowy numer telefonuNieprawidłowy numer telefonu SMSKalibracja
- Wysłać kalibrację %.1f do xDrip?xDrip+ nie zainstalowanyKalibracja przesłana do xDripKalibracja wysłana. Odbiór musi być dozwolony w xDrip.
@@ -601,7 +601,6 @@
Ustawienia wchłanianiaMaks. czas wchłaniania posiłku [h]Oczekiwany czas w godzinach, w którym wszystkie węglowodany zostają wchłonięte
- Pokazuj bolus przedłużony w %SAGEIAGECAGE
@@ -714,8 +713,6 @@
Prześlij dane BG do xDrip+W xDrip+ wybierz źródło danych 640g/EversenseNSClient BG
- Wartość bazy zastąpiona minimalną obsługiwaną wartością: %s
- Wartość bazy zastąpiona maksymalną obsługiwaną wartością: %sObliczenia BGObliczenia Bolus IOBObliczenia IOB
@@ -733,8 +730,6 @@
Tryb zamknięty włączonyMaks. IOB ustawione poprawnieBG dostępne z wybranego źródła
- Wartości bazy nie są ustawione w pełnych godzinach: %s
- Nieprawidłowy profil: %sProgramowanie pompy do podawania bolusaOdświeżStan
@@ -1075,7 +1070,6 @@
Melduj zmiany trybu pracyMelduj ostrzeżeniaWłącz emulację TBR
- Użyj rozszerzonych bolusów zamiast TBR by ominąć limit 250% bazyOpóźnienie rozłączenie [s]Numer seryjnyWersja oprogramowania
diff --git a/app/src/main/res/values-pt/insight_alert_titles.xml b/app/src/main/res/values-pt/insight_alert_titles.xml
index 547fcd1101..ce662edb55 100644
--- a/app/src/main/res/values-pt/insight_alert_titles.xml
+++ b/app/src/main/res/values-pt/insight_alert_titles.xml
@@ -12,14 +12,19 @@
Fora da GarantiaBasal temporária canceladaBolus cancelado
+ Aviso de periodo de empréstimo
+ Cartucho não inseridoCartucho vazioBateria vazia
+ Desligar automático - bomba paradaOclusão
+ Fim de período de empréstimo - Fim de operaçãoMudança de Cartucho não concluídaFalha no download de dadosTempo limite de modo de pausaTipo de bateria não definidoTipo de Cartucho não definidoErro mecânico
+ Erro RebobinarErro de idioma
diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml
index c76c389920..6499f63e59 100644
--- a/app/src/main/res/values-pt/strings.xml
+++ b/app/src/main/res/values-pt/strings.xml
@@ -9,7 +9,6 @@
Reinicializar base de dadosQuer realmente reiniciar a base de dados?Sair
- Usar bolus prolongado de >200%Dispositivo Bluetooth DanaRUsar sempre valores absolutos de basalPor favor, reinicie o seu telefone ou reinicie o AndroidAPS a partir das Configurações do Sistema \ncaso contrário, o AndroidAPS não terá registro (importante para controlar e verificar se os algoritmos estão a funcionar corretamente)!
@@ -266,6 +265,10 @@
Para dar bolus %1$.2fU responder com código %2$sPara enviar calibração %1$.2f responder com código %2$sBólus falhado
+ Bólus %1$.2fU enviado com êxito
+ Vai ser enviado %1$.2fU
+ Bólus %1$.2fU enviado com êxito
+ A enviar %1$.2fUPermitir comandos remotos via SMSDedoSensor
@@ -310,7 +313,6 @@
PararSTOP PRESSIONADOÀ espera da bomba
- Vai ser enviado %.2fUConfiguração da visualização e monitoramento, e análise de rácios e basalsVerificar se a BG está disponível no Nightscout, e se os dados de insulina da bomba estão a ser carregadosA iniciar um open loop
@@ -333,13 +335,14 @@
Loop desactivadoLoop activado%1$.2f limitado a %2$.2f
- O valor %s está fora dos limites permitidosO comando remoto não é permitidoPara suspender o loop por %1$d minutos resposta com código %2$sBasal temporária %1$.2fU/h para %2$d min iniciada com êxitoInício basal temp falhou Basal temp canceladaNão foi possivel cancelar a basal temp
+ Falhou o cancelamento do bolus extendido
+ Comando desconhecido ou resposta erradaAssistente RápidoDefinições do Assistente RápidoTexto do botão:
@@ -447,7 +450,6 @@
PerfilValor padrão: 3 Por segurança é o valor limite estabelecido por OpenAPS. O que faz é limitar a basal a x3 a basal mázima. Se necessário modificar este valor, por favor ter em conta que os dados apontam para que os limites de segurança sejam - 3 x max diario ou 4x valor actual (qual seja menor) como valores máximos.Valor padrão: 4 Esta é a outra parte dos valores limites de segurança - 3 x max diário ou 4x valor actual - do OpenAPS. Isto define que não importa o valor da basal máxima definido na bomba, o valor máximo da basal temporária não pode ser maior que 4 x o valor da basal definida na bomba. O objectivo é evitar que sejam determinadas basais temporárias demasiado elevadas antes que se perceba como o algoritmo funciona. 4x é um valor que a maior parte das pessoas nunca necessitará de alterar pois o mais provável é necessitar de alterar outras definições para não necessitar de \"ultrapassar\" este limite de segurança.
- Valor predefinido: 1.2\n Este é um multiplicador para autosens (e em breve autotune) que coloca um limite máximo de 20% aos rácios superiores e inferiores de autosens, o que por sua vez calcula o quão alto autosens pode ajustar a basal, quão pode baixar o Factor de Sensibilidade (ISF) e baixar o valor alvo de glucose no sangue (BG).Valor padrão: 0.7\nO outro lado dos limites de segurança do autosens. Coloca um tecto no quão baixo autosens pode ajustar as basais, e quão alto pode ajustar os valores de ISF e valor alvo de glucose no sangue (BG).Autosens também ajusta os alvosValor padrão: true\nÉ usado para permitir que autosens possa ajustar os valores alvo de glucose no sangue (BG), além de ISF e basais.
@@ -460,7 +462,6 @@
Número de telefone não é válidoSMS número de telefone inválidoCalibração
- Enviar calibração %.1f para o xDrip?xDrip+ não está instaladoCalibração enviada para o xDripCalibração enviada. Recepção têm de estar activada no xDrip.
@@ -601,7 +602,6 @@
Configurações de absorçãoTempo máx. absorção refeição [h]Tempo em horas, espectável para que todos os hidratos de carbono da refeição sejam absorvidos
- Visualizar bólus estendido com %SAGEIAGECAGE
@@ -714,8 +714,6 @@
Enviar dados Glic. para xDrip+Seleccionar 640g/Eversense como fonte no xDrip+Glic NSCliente
- Valor da basal alterado para o valor mínimo suportado: %s
- Valor da basal alterado para o valor máximo suportado: %sCálculos GlicCálculo de Bólus IOBCálculo de Basal IOB
@@ -733,8 +731,6 @@
Modo fechado ativadoIOB máxima definida correctamenteGlicemia disponivel desde a fonte selecionada
- Valores das basais não definidos por horas: %s
- Perfil inválido: %sA programar a bomba para injectar o bolusActualizarEstado
@@ -1070,19 +1066,22 @@
SilêncioAlerta da BombaRegistar alterações de local
+ Número de unidades do reservatório alteradasRegistar alterações de tuboRegistar mudanças de bateriaAlterações do modo de funcionamento de registoAlertas de registoAtivar a emulação TBR
- Usar bolus estendidos em vez de TBRs para contornar o limite de 250%
+ Atraso de desconexão [s]Número de sérieLançar versão de softwareVersão de software do processador de interface do utilizadorVersão do software do processador de PCVersão do software do processador MD telVersão de software do processador de segurança
+ Página de informação da versão do BTEndereço Bluetooth
+ Apêndice do ID de sistemaData de fabricoEliminar emparelhamentoInformações de emparelhamento
@@ -1103,6 +1102,7 @@
Bólus estendidoBólus Multi-Onda%1$.2f / %2$.2f U por %3$d min
+ Desativar notificação do fim da basal temporária\n(configuração da bomba)Desativar notificação do fim da basal temporária\n(configuração da bomba)ActualizarIntegração de bomba para bombas Accu-Chek Insight
@@ -1126,6 +1126,8 @@
Tomatorestrição de armazenamento internoLiberte pelo menos %1$d MB do armazenamento interno! Loop desativado!
+ Formato incorrecto
+ Código errado. Comando cancelado.Não configuradoTroca de perfil criada
diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml
index bca606bc90..67868f930a 100644
--- a/app/src/main/res/values-ro/strings.xml
+++ b/app/src/main/res/values-ro/strings.xml
@@ -9,7 +9,6 @@
Resetează bazele de dateSigur resetați bazele de date?Ieșire
- Folosiți bolusuri extinse pentru >200%Dispozitive bluetooth DanaRFolosește întotdeauna valori absolute ale bazaleiRestartați telefonul sau reporniți aplicația AndroidAPS din System Settings \naltfel AndroidAPS nu va putea face loguri (importante pentru verificarea corectitudinii funcționării algoritmilor)!
@@ -309,7 +308,6 @@
StopSTOP APĂSATSe așteaptă pompa
- Se vor livra %.2fUSe stabilesc vizualizările și monitorizarea și se analizează bazalele și valorile ratelorVerificați că vedeți glicemia în Nightscout și că datele despre insulină date de pompă sunt înregistrate în sitePornire în mod buclă deschisă
@@ -332,7 +330,6 @@
Bucla este dezactivatăBucla este activată%1$.2f este limitată la %2$.2f
- Valoarea %s este mai mare decât limita fizicăComanda de la distanță nu este permisăPentru suspendarea buclei pentru %1$d minute trimiteți codul %2$sBazala temporară %1$.2fU/h pentru %2$d minute a fost trimisă cu succes
@@ -446,7 +443,6 @@
ProfilValoare implicită: 3\nAceasta este o setare de critică de securitate a OpenAPS. Asta înseamnă că se limitează bazala lade 3x valoarea maximă a bazalelor tale.Cel mai probabil nu veți schimba această valoare, dar trebuie să țineți cont de ce se discută despre “3x max zilnic; 4x curent” ca valori de siguranță.Valoare implicită: 4\nAceasta este cealaltă jumătate a cheii de siguranță a OpenAPS și cealaltă jumătate a \"3x max zilnic; 4x curent\" al setărilor de siguranță.Aceasta înseamnă că bazala dumneavoastră, indiferent de bazala maximă configurată în pompă, nu poate fi mai mare de acest număr înmulțit cu nivelul curent al bazalei active. Această limitare este impusă pentru a evita posibilitatea de a intra pe un teritoriu periculos prin setarea unei bazale maxime excesiv de mari înainte de a înțelege funcționarea algoritmului. Din nou, valoarea implictă este 4x; majoritatea oamenilor nu vor trebui să ajusteze această valoare și vor modifica, mai degrabă, alte valori dacă vor simți că această valoare le stă în cale.
- Valoare implicită: 1.2\nAceasta este valoarea limită de multiplicare pentru autosens (și pentru autotune, în curând) pentru a seta o limită maximă de 20% din cât de mare poate fi raportul autosens, care, la rândul ei, determină cât de mult poate autosens să modifice bazalele, cât de jos poate modifica ISF și cât de jos poate pune ținta glicemiei.Valoare implicită: 0.7\nCealaltă parte a limitelor autosens, care limitează cât de jos poate ajusta bazalele și cât de mult poate mări ISF și țintele de glicemie.Autosens ajustează țintele laValoare implicită: adevărat\nAceasta se folosește pentru a permite autosens să ajusteze țintele de glicemie, pe lângă modificările asupra ISF și bazalelor.
@@ -459,7 +455,6 @@
Numărul de telefon este invalidNumăr de telefon SMS invalidCalibrare
- Trimite calibrarea %.1f către xDrip?xDrip+ nu este instalat.Calibrare trimisă către xDripCalibrare trimisă. Recepționarea trebuie să fie activată și în xDrip.
@@ -600,7 +595,6 @@
Setări absorbțieTimp maxim absorbție masă [o]Timp în ore la care se presupune că toți carbohidrații sunt absorbiți
- Afișati bolusul extins ca %VSVIVC
@@ -713,8 +707,6 @@
Trimite date glicemie la xDrip+Selectați 640g/Eversense ca sursă de date în xDrip+Glicemie NSClient
- Valoarea bazalei a fost înlocuită cu valoarea minimă posibilă: %s
- Valoarea bazalei a fost înlocuită cu valoarea maximă posibilă: %sCalcul glicemieCalcul IOB bolusCalcul IOB bazală
@@ -732,8 +724,6 @@
Mod buclă închisă activatIOB maxim configurat corectGlicemie disponibilă din sursa selectată
- Valori bazale nealiniate la ore: %s
- Profil invalid: %sSe programează pompa pentru livrare bolusReîncarcăStare
@@ -1074,7 +1064,6 @@
Înregistrează schimbările modului de operareÎnregistrează alerteleActivează emularea RBT
- Folosește bolus extins în locul RBT pentru a trece de limita de 250%Întârziere a deconectării [s]Număr de serieVersiunea de software
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index a8311ca6a7..e970c21d48 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -9,7 +9,7 @@
обнулить базыВы действительно хотите обнулить базы данных?Выход
- Для величин >200% пользуйтесь пролонгированным болюсом
+ Для величин >200%% пользуйтесь пролонгированным болюсомустройство блутус danaRВсегда пользуйтесь абсолютными величинами для базалаПожалуйста перезагрузите телефон или перезапустите AndroidAPS из системных настроек \иначе AndroidAPS не будет вести лог (важно для отслеживания и проверки алгоритмов)!
@@ -314,7 +314,7 @@
стопнажат стопожидание помпы
- Будет доставлено %.2fU ед. инс
+ Начинается подача болюса %1$.2fед.настройка визуализации и мониторинга, анализ базала и коэффициентовубедитесь что СК и данные помпы передаются в NSстарт незамкнутого цикла
@@ -337,7 +337,7 @@
зцикл не работаетзцикл работает%1$.2f ограничено до %2$.2f
- величина %s недопустима
+ Величина %1$s недопустимаудаленная команда не разрешенаУдаленный болюс недоступен, повторите попытку позже.Чтобы подать базал %1$.2fед./ч в течение %2$d мин. ответьте кодом %3$s
@@ -464,7 +464,7 @@
профильзначение по умолчанию:3 Это ключевой ограничитель безопасности OpenAPS. Он ограничивает величину вашего базала максимум до 3x максимума. Вам вероятно не понадобится менять эту величину но вам следует понимать, что она входит в формулу дуэта \"максимум 3x ежедневное; 4x текущее\"значение по умолчанию: 4 . Это вторая половина обеспечения безопасности OpenAPS из дуэта \"максимум 3x ежедневное; 4x текущее\" Означает что ваша база независимо от установок помпы не может быть выше чем это число умноженное на текущее значение базала. Ограничение для того, чтобы предотвратить вторжение в опасную зону из-за высокого уровня установленных значений базы без понимания алгоритма работы приложения. Большинству людей никогда не потребуется изменять это значение, скорее всего нужно поменять другие настройки если вы чувствуете, что вам мешает это ограничение.
- знач по умолчанию:1,2. Это множитель для autosens (вскоре autotune) с лимитом 20% который определяет насколько высоко autosens может поднять базал, насколько низко опустиь ISF (чувствительность к инс)и целевые СК
+ Значение по умолчанию: 1,2\n Это множитель для autosens ( и вскоре autotune) с лимитом 20%% который определяет лимит верхнего значения autosens, который в свою очередь предопределяет верхнюю границу базала, границы изменения чувствительности к инсулину ISF и нижние границы целевой ГК.по умолчанию:0.7 Еще один параметр безопасности autosens, определяющий как низко он может опускать базал и как высоко поднимать ISF (чувств к инс) и целевые СКAutosens тоже подстроит целизначение по умолчанию : верно. используется чтобы разрешить юстировку целевых СК, а также ISF и базала
@@ -477,7 +477,7 @@
неверный номер телефонаневерный номер телефона для смскалибровка
- отправить калибровку %.1f на xdrip?
+ Отправить калибровку %1$.1f на xDrip?xdrip+ не установленкалибровка передается на xdripкалибровка отправлена. в xdrip должен быть активирован прием
@@ -618,7 +618,7 @@
Настройки усваиваемостиМаксимальное время усваимости пищи [h] (час)Ожидаемое время усваивания всех углеводов пищи в часах
- Просмотреть расширенный болюс %
+ Показать пролонгированный болюс в %%ВОЗРСенсВозрИнсВозрКан
@@ -731,8 +731,8 @@
Отправить данные СК на xDrip+В xDrip + выберите источник данных 640g/EversenseСК с клиента Nightscout
- Значение базала заменено минимальной поддерживаемой величиной: %s
- Значение базала заменено максимальной поддерживаемой величиной: %s
+ Значение базала заменено минимальной поддерживаемой величиной: %1$s
+ Значение базала заменено максимальной поддерживаемой величиной: %1$sВычисление СКРасчет болюсного активного инсулина IOBРасчет базального активного инсулина IOB
@@ -750,8 +750,8 @@
Режим замкнутого цикла включенМаксимум активного инсулина IOB установлен правильноСК доступны из выбранного источника
- Базальные значения не выровнены по часам: %s
- Недопустимый профиль: %s
+ Базальные значения не выровнены по часам: %1$s
+ Недопустимый профиль: %1$sПомпа программируется для болюсаОбновитьСостояние
@@ -1089,12 +1089,13 @@ Context | Edit Context
Отключить звукОповещение помпыЖурнал изменений места установки
+ Отслеживать замену резервуараЖурнал замены трубки катетераЖурнал замен батареиЖурнал изменений режима работыЖурнал оповещенийВключить эмуляцию TBR
- Использовать пролонгированные болюсы вместо временных базалов TBR чтобы обойти лимит в 250%
+ Использовать пролонгированные болюсы вместо временных базалов TBR чтобы обойти лимит в 250%%Задержка разъединения [s]Серийный номерВерсия ПО
@@ -1150,6 +1151,7 @@ Context | Edit Context
Томато (MiaoMiao)ТоматоПереход на летнее/зимнее время через 24 часа или менее
+ Переход на летнее время меньше 3 часов назад - Замкнутый цикл отключенограничение по объему карты памятиОсвободите по крайней мере %1$d MB из внутренней памяти! Цикл остановлен!Неверный формат
diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml
index 679f07518f..d2cdb050cd 100644
--- a/app/src/main/res/values-sk/strings.xml
+++ b/app/src/main/res/values-sk/strings.xml
@@ -9,7 +9,7 @@
Vymaž databázuNaozaj chcete vymazať databázu?Ukončiť
- Použiť predĺžené bolusy pre >200%
+ Použiť predĺžené bolusy pre >200%%DanaR Bluetooth zariadenieVždy používaj absolútne hodnoty bazálovProsím reštartuj svoj telefón, alebo reštartuj AndroidAPS zo systémových nastavení, v opačnom prípade AndroidAPS nebude mocť zapisovať údaje (dôležité kvôli sledovaniu a overovaniu, že algoritmus pracuje správne)!
@@ -43,17 +43,18 @@
Citlivosť je počítaná za posledných 24h a sacharidy (ak sú ešte nevstrebané), sú orezané po čase definovanom v nastaveniach.Citlivosť je počítaná za posledných 8h a sacharidy (pokiaľ nie sú vstrebané), sú orezané po čase definovanom v nastaveniach. Modul tiež počíta s UAM (neoznámené jedlo).Citlivosť je počítaná ako vážený priemer z odchýlok. Novšie majú vyššiu prioritu. Minimálna vstrebateľnosť sacharidov je počítaná dynamicky z maximálnej doby vstrebateľnosti definovanej v nastaveniach. Tento algoritmus je najrýchlejší v sledovaní zmien citlivosti.
- Príjmi hodnoty glykémií z upravenej Dexcom G5 aplikácie.
- Prijímam glykémie z upravenej Dexcom G6 aplikácie.
- Prijímam glykémie z upravenej Eversense aplikácie.
- Príjmi hodnoty glykémií z aplikácie Glimp.
- Príjmi hodnoty glykémií z 600SeriesAndroidUploader.
- Stiahne hodnoty glykémií z Nightscoutu
- Príjmi hodnoty glykémií z xDripu.
+ Získavať hodnoty glykémií z upravenej Dexcom G5 aplikácie.
+ Získavať glykémie z upravenej Dexcom G6 aplikácie.
+ Získavať glykémie z upravenej Eversense aplikácie.
+ Získavať hodnoty glykémií z aplikácie Glimp.
+ Získavať hodnoty glykémií z 600SeriesAndroidUploader.
+ Získavať hodnoty glykémií z Nightscoutu
+ Získavať hodnoty glykémií z xDripu.Ukladá všetky ošetrenia do databázyZobrazovanie stavu a riadenie AndroidAPS z hodiniek s WearOS.Zobraz informácie o uzavretom okruhu na xDrip+ watchface.Ovládaj na diaľku AndroidAPS použitím SMS príkazov.
+ NaspäťZačiatokOverenieJednotky
@@ -265,6 +266,10 @@
Pre podanie bolusu %1$.2fU odpovedz SMS kódom %2$sPre odoslanie kalibrácie %1$.2f odpovedz SMS kódom %2$sChyba pri aplikovaní bolusu
+ Bolus %1$.2fU podaný úspešne
+ Podávanie %1$.2fU inzulínu
+ Bolus %1$.2fU podaný úspešne
+ Podávanie %1$.2fUPovoliť príkazy na diaľku cez SMSPrstSenzor
@@ -309,7 +314,7 @@
StopSTLAČENÝ STOPČakanie na pumpu
- %.2fU inzulínu bude podaných
+ Podávanie %1$.2fU inzulínuNastavenie vizualizácie a monitoringu (Nightscout), analyzovať bazály a prevodySkontrolovať, či sú glykémie a údaje z pumpy viditeľné v NightscouteZačať s otvoreným okruhom
@@ -332,13 +337,26 @@
Uzavretý okruh je deaktivovanýUzavretý okruh je aktivovaný%1$.2f obmedzené na %2$.2f
- Hodnota %s je mimo prednastavený rozsah
+ Hodnota %1$s je mimo prednastavený rozsahPríkazy na diaľku nie sú povolené
+ Diaľkovo ovládaný bolus nie je momentálne povolený. Skúste to neskôr.
+ Pre spustenie bazálu %1$.2fU/h na %2$d min odpovedzte SMS s kódom %3$s
+ Pre prepnutie profilu na %1$s %2$d%% odpovedzte SMS s kódom %3$s
+ Pre spustenie predĺženého bolusu %1$.2fU na %2$d min odpovedzte SMS s kódom %3$s
+ Pre spustenie bazálu %1$d%% na %2$d min odpovedzte SMS s kódom %3$sPre pozastavenie uzavretého okruhu na %1$d minút odpovedaj SMS s kódom %2$sDočasný bazál %1$.2fU/h spustený na %2$d minút
+ Predĺžený bolus %1$.2fU na %2$d min úspešne spustený
+ Dočasný bazál %1$d%% na %2$d minút úspešne spustenýSpustenie dočasného bazálu zlyhalo
+ Spustenie predĺženého bolusu zlyhalo
+ Na zastavenie dočasného bazálu odpovedzte SMS s kódom %1$s
+ Na zastavenie predĺženého bolusu odpovedzte SMS s kódom %1$sDočasný bazál zrušený
+ Predĺžený bolus zastavenýZrušenie dočasného bazálu zlyhalo
+ Zastavenie predĺženého bolusu zlyhalo
+ Neznámy príkaz alebo chybná odpoveďRýchly bolusNastavenie rýchleho bolusuText na tlačidle:
@@ -446,7 +464,7 @@
ProfilŠtandardná hodnota: 3 Toto je kľúčová hodnota zabezpečenia. Hovorí, že maximálny nastaviteľný bazál je trojnásobkom maximálneho denného bazálu. Spravidla to zrejme nebudete musieť meniť, prípadne si prečítate o téme \"3x max denný; 4x aktuálny\".Štandardná hodnota: 4 Toto je druhá kľúčová hodnota. Hovorí, že maximálna hodnota dočasného bazálu nikdy nebude väčšia, ako štvornásobok aktuálneho bazálu. Je to preto, aby se ľudia nedostali do nebezpečných hodnôt skôr, ako pochopia ako OpenAPS pracuje. Znovu, štandardná hodnota je 4 a väčšina ľudí ju nikdy nebude musieť meniť. Pokiaľ nestačí, obvykle je problém niekde inde.
- Štandardná hodnota: 1.2\nToto je bezpečnostné nastavenie pre automatickú detekciu citlivosti. Hovorí, že automatická detekcia citlivosti (a onedlho Autotune) môže zvýšiť bazály, znížiť ISF a znížiť cieľovú hodnotu glykémie o 20%.
+ Štandardná hodnota: 1.2\nToto je bezpečnostné nastavenie pre detekciu citlivosti (a čoskoro autotune). Hovorí, že autosens môže zvýšiť bazály, znížiť ISF a znížiť cieľovú hodnotu glykémie o 20%%.Štandardná hodnota: 0.7\nToto je bezpečnostné nastavenie pre automatickú detekciu citlivosti. Hovorí, že automatická detekcia citlivosti môže znížiť bazály, zvýšiť ISF a zvýšiť cieľovú hodnotu glykémie na 70%.Úprava cieľovej glykémie pomocou automatickej detekcie citlivostiŠtandardná hodnota: zapnuté\nToto nastavenie hovorí, že automatická detekcia citlivosti môže meniť tiež cieľové hodnoty glykémií.
@@ -459,7 +477,7 @@
Neplatné telefónne čisloChybné telefónne čísloKalibrácia
- Poslať kalibráciu %.1f do xDripu?
+ Poslať kalibráciu %1$.1f do xDripu?xDrip+ nie je nainštalovanýKalibrácia odoslaná do xDripuKalibrácia odoslaná. Príjem kalibrácií musí byť v xDripe povolený.
@@ -543,7 +561,7 @@
Povoliť superbolusPovolenie superbolusu v kalkulátore. Nepovoľujte, pokiaľ se nenaučíte, čo to v skutočnosti robí. MÔŽE SPÔSOBIŤ PREDÁVKOVANIE INZULÍNOM PRI NESPRÁVNOM POUŽITÍ!Zobraziť indikátory stavu na domovskej obrazovke
- Povoliť indikátory stavu pre CAGE, IAGE, SAGE, RESERVOIR a BATTERY LEVEL na domovskej obrazovke.
+ Povoliť indikátory stavu pre CAGE, IAGE, SAGE, Reservoir a Battery Level na domovskej obrazovke.Prah upozornenia na úroveň hladiny zásobníka [U]Prah kritickej úrovne hladiny zásobníka [U]Prah upozornenia na úroveň batérie [%]
@@ -600,7 +618,7 @@
Nastavenie vstrebávania sacharidovMax. doba vstrebávania sacharidov [h]Čas v hodinách, počas ktorého predpokladáme, že všetky sacharidy budú vstrebané
- Zobrazovať predĺžený bolus v %
+ Zobrazovať predĺžený bolus v %%SENZINZKAN
@@ -713,8 +731,8 @@
Odosielať glykémie do xDrip+V xDrip+ vyberte zdroj dát 640g/EversenseGlykémie z NS
- Hodnota bazálu nahradená minimálnou možnou
- Hodnota bazálu nahradená maximálnou možnou: %s
+ Hodnota bazálu nahradená minimálnou možnou: %1$s
+ Hodnota bazálu nahradená maximálnou možnou: %1$sVýpočet glykémieVýpočet bolusového IOBVýpočet bazálneho IOB
@@ -732,8 +750,8 @@
Uzavretý okruh povolenýMaximálne IOB nastavené správneGlykémie dostupné z vybraného zdroja
- Bazálne hodnoty nie sú zarovnané na celé hodiny: %s
- Chybný profil: %s
+ Bazálne hodnoty nie sú zarovnané na celé hodiny: %1$s
+ Chybný profil: %1$sProgramovanie pumpy pre bolusObnoviťStav
@@ -1069,12 +1087,13 @@
StlmiťVýstraha pumpyZaznamenať výmenu kanyly
+ Zaznamenať výmenu zásobníkaZaznamenať výmenu hadičkyZaznamenať výmenu batérieZaznamenať zmenu režimu prevádzkyZaznamenať výstrahyPovoliť emuláciu dočasných bazálov
- Používať predĺžené bolusy namiesto dočasných bázalov, aby sme sa vyhli 250% limitu
+ Používať predĺžené bolusy namiesto dočasných bázalov, aby sme sa vyhli 250%% limituOneskorenie odpojenia [s]Sériové čísloVerzia softwaru
@@ -1129,6 +1148,14 @@
Vytvoriť udalosť \"Výmena senzora\" v NS automaticky pri spustení senzoraTomato (MiaoMiao)Tomato
+ Zmena letného času za menej ako 24 hodín
+ Zmena letného času za menej ako 3 hodiny - Uzavretý okruh pozastavený
+ obmedzenie interného úložiska
+ Uvoľnite aspoň %1$d MB z interného úložiska! Uzavretý okruh zakázaný!
+ Chybný formát
+ Nesprávný kód. Príkaz zrušený.
+ Nie je nakonfigurované
+ Prepnutie profilu vytvorené%1$d deň%1$d dní
diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml
index 8c8a7ead52..74378fb8d9 100644
--- a/app/src/main/res/values-sv/strings.xml
+++ b/app/src/main/res/values-sv/strings.xml
@@ -55,6 +55,7 @@ Eversense-appen.
Följ och kontrollera din AndroidAPS med din WearOS-klockaVisa AAPS-information på din xDrip-urtavlaFjärrstyr AndroidAPS med SMS-kommandon.
+ BackaStartaGodkännEnheter
@@ -266,6 +267,10 @@ Eversense-appen.
För att ge bolus %1$.2f enheter, svara med kod %2$sFör att skicka kalibrering %1$.2f, svara med kod %2$sBolus misslyckades
+ Bolus %1$.2f enheter levererat
+ Kommer att leverera %1$.2f enheter
+ Bolus %1$.2f enheter levererat
+ Levererar %1$.2f enheterTillåt fjärrstyrning via SMSFingerSensor
@@ -310,7 +315,7 @@ Eversense-appen.
StoppStopp nedtrycktVäntar på pump
- Kommer att leverera %.2f enheter
+ Kommer att leverera %1$.2f enheterStäller in utseende och övervakning för att sedan kunna analysera basaler och kvoterKontrollera att BG syns i Nightscout och att insulindata från pumpen laddas uppStarta med open loop
@@ -333,13 +338,26 @@ Eversense-appen.
Loop är avstängdLoop är aktiverad%1$.2f begränsat till %2$.2f
- Värdet %s är utanför hård begränsning
+ Värdet %1$s är utanför hård begränsningOtillåtet fjärrkommando
+ Fjärrbolus inte tillgängligt. Försök igen senare.
+ För att starta temp basal %1$.2f enheter/tim i %2$d min, svara med kod %3$s
+ För att byta till profil %1$s %2$d%% svara med kod %3$s
+ För att starta förlängd bolus med %1$.2f enheter över %2$d min, svara med kod %3$s
+ För att starta temp basal %1$d%% i %2$d min, svara med kod %3$sFör att pausa loop i %1$d minuter, svara med kod %2$sTemp basal %1$.2f enheter/tim i %2$d min startad
+ Förlängd bolus %1$.2f enheter över %2$d min har startats
+ Temp basal %1$d%% enheter/tim i %2$d min startadFel vid start av temp basal
+ Lyckades inte starta förlängd bolus
+ För att stoppa temp basal, svara med kod %1$s
+ För att stoppa förlängd bolus, svara med kod %1$sTemp basal avbruten
+ Förlängd bolus avbrutenMisslyckades med att avbryta temp basal
+ Avbryter förlängd bolus
+ Okänt kommando eller fel svarKalkylatorKalkylatorinställningarKnapptext:
@@ -448,7 +466,7 @@ Eversense-appen.
Standardvärde: 3 Detta är en grundsten i OpenAPS säkerhet. Detta begränsar dina temp basaler till maximalt 3x din största basaldos. Du behöver oftast inte ändra detta värde. Läs på och förstå skillnaden mellan 3x nuvarande och 3x daglig max som säkerhetsinställningar.Standardvärde: 4 Detta är en grundsten i OpenAPS säkerhet. Detta begränsar dina tempbasaler till maximalt 4 gånger din nuvarande basaldos, oberoende av din maximala basaldos. Detta för att undvika att man av misstag gör farliga inställningar. Om man når taket i denna inställning så kanske ändringar i andra inställningar behövs. De flesta behöver inte ändra denna inställning.Standardvärde: 1.2\nDetta är en multiplikatorbegränsare för autosens/autotune som gör att automatiken kan justera upp basaler, sänka insulinkänslighet (ISF) och/eller målvärde med upp till 20%.
- Standardvärde: 0.7\nDetta är en multiplikatorbegränsare för autosens/autotune som gör att automatiken kan justera ner basaler, höja insulinkänslighet (ISF) och/eller målvärde med upp till 30% för att kompensera för t ex tillfällig hög insulinkänslighet.
+ Standardvärde: 0.7\nDetta är en multiplikatorbegränsare för autosens/autotune som gör att automatiken kan justera ner basaler, höja insulinkänslighet (ISF) och/eller målvärde med upp till 30%% för att kompensera för t ex tillfällig hög insulinkänslighet.Autosens justerar även mål-BGStandardvärde: sant. Detta för att tillåta autosens justera mål-BG utöver ISF och basaler.Standardvärde: 2 Bolus snooze är aktivt efter att du givit en måltidsbolus, detta för att inte loop ska lågtempa när du just ätit. I detta exempel och grundvärde är 2; innebär att DIA på 3 tim kommer bolus snooze kommer att fasas ut under 1,5 tim (3DIA/2).
@@ -460,7 +478,7 @@ Eversense-appen.
Ogiltigt telefonnummerOgiltigt telefonnummer för SMSKalibrering
- Skicka kalibrering %.1f till xDrip?
+ Skicka kalibrering %1$.1f till xDrip?xDrip+ inte installeratKalibrering skickad till xDripKalibrering skickad. Observera att xDrip måste vara inställd att ta emot kalibreringar.
@@ -601,7 +619,7 @@ Eversense-appen.
AbsorptionsinställningarMax absorptionstid för en måltid [tim]Tid i timmar när alla kolhydrater förväntas vara absorberade
- Visa förlängd bolus som %
+ Visa förlängd bolus som %%SAGEIAGECAGE
@@ -637,7 +655,7 @@ Eversense-appen.
Free-Peak OrefRapid-Acting OrefUltra-Rapid Oref
- %1$s tim DIA är för kort. Använder %2$s istället!
+ %1$f tim DIA är för kort. Använder %2$f istället!Aktivera profilDatumOGILTIG
@@ -714,8 +732,8 @@ Eversense-appen.
Skicka BG-data till xDrip+Välj \"640G/Eversense\" som datakälla i xDrip+NSClient BG
- Basalvärdet ersatt med det lägsta tillåtna: %s
- Basalvärdet ersatt med det maximala tillåtna: %s
+ Basalvärdet ersatt med det lägsta tillåtna: %1$s
+ Basalvärdet ersatt med det maximala tillåtna: %1$sAnvänd BGAnvänd bolus-IOBAnvänd basal-IOB
@@ -733,8 +751,8 @@ Eversense-appen.
Closed loop aktiveradMax IOB är korrekt angivetBG tillgängligt från vald källa
- Profilens basaler är inte satta på hel timme: %s
- Ogiltig profil: %s
+ Profilens basaler är inte satta på hel timme: %1$s
+ Ogiltig profil: %1$sProgrammerar bolus i pumpUppdateraLäge
@@ -1070,12 +1088,13 @@ Eversense-appen.
TystaPumpvarningLogga kanylbyten
+ Logga reservoarbytenLogga slangbytenLogga batteribytenLogga när driftsläge ändrasLogga varningarAktivera emulering av temp basal
- Använda utökade bolusar istället för temp basaler för att kringgå 250%-begränsningen
+ Använda förlängda bolusar istället för temp basaler för att kringgå 250%%-begränsningenFördröjning av frånkoppling [s]SerienummerMjukvaruversion Release
@@ -1130,6 +1149,14 @@ Eversense-appen.
Loggar automatiskt ett sensorbyte i NS när en sensor startasTomato (MiaoMiao)Tomato
+ Sommar/vintertid inträffar inom 24 timmar
+ Sommar/vintertid ändrades för mindre än 3 timmar sedan. Closed Loop avstängt
+ intern lagringsbegränsning
+ Frigör minst %1$d MB från internminnet. Loop inaktiverad!
+ Felaktigt format
+ Fel kod. Kommandot avbrutet.
+ Inte konfigurerad
+ Skapade ett profilbyte%1$d dag%1$d dagar
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index e75625a663..dcc3af86e3 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -9,7 +9,6 @@
Veritabanlarını sıfırlaVeritabanlarını gerçekten sıfırlamak istiyor musunuz?Çıkış
- Yayım bolus >200% için kullanınDanaR Bluetooth aygıtıHer zaman bazal mutlak değerleri kullanLütfen telefonunu yeniden başlat, yada Android APS sistem ayarları üzerinden yeniden başlat.\nAksi taktirde Android APS hiç bir günlük tutmayacak (takip ve doğrulama, algoritmanın düzenli çalışmasi için önemli)!
@@ -307,7 +306,6 @@
DurDURDUR\'A BASTIĞINIZPompa bekleniyor
- %.2fU GönderilecekNightscout üzerinden izlemeyi ve görselleştirmeyi yapılandırın ve bazal oranlarını ve faktörleri düzenleyinNightscout\'ta KŞ\'nin bulunduğunu ve insülin verilerinin yüklenmekte olduğunu doğrulayınAçık Döngü modu başlatılıyor
@@ -330,7 +328,6 @@
Döngü devre dışıDöngü etkin%1$.2f dan %2$.2f olarak sınırlı
- Değer %s sabit sınırları dışında olduğunuUzaktan komuta izin verilmez%1$d dakika için Döngü\'yü askıya almak için %2$s kodunu yanıtlaGeçici bazal %1$.2fÜ/s %2$d dakika için başarıyla başlatıldı
@@ -443,7 +440,6 @@
ProfilVarsayılan değer: 3 Bu OpenAPS için önemli bir güvenlik ayarıdır. Maksimum bazal Iob\'u, en büyük bazal oranınızın üç katı (varsayılan olarak) ile sınırlar. Genel olarak, bu değeri değiştirmemelisiniz. Ama \"3x max günlük, 4x şuan\" ın bir güvenlik ayarı olarak ne anlama geldiğini bilmelisiniz.Varsayılan ayar: 4 Bu, OpenAPS güvenlik ayarlarının diğer yarısı ve \"3x max günlük, 4x akım\" güvenlik korumasının diğer yarısıdır. Bu, başlangıç değerinizin, pompada ayarlanan taban maksimum değerinizden bağımsız olarak, mevcut bazal seviyenin bu sayısından daha yüksek olamayacağı anlamına gelir. Bu, insanların, algoritmanın nasıl çalıştığını anlamadan temel çizgiyi büyük ölçüde artırarak kendilerini tehlikeli durumlarda bulmalarını engellemektir. Varsayılan ayar 4x\'dir; Çoğu insan bu ayarları asla değiştirmek zorunda kalmayacak, ancak bu güvenlik sınırına yakınsa diğer terapi ayarlarını ayarlamalıdırlar.
- Varsayılan değer: 1.2\nBu autosens oranının ne kadar yüksek olabileceği üzerine %20\'lik bir max limit belirlemek için autosens (ve yakında autotune) için bir çarpan faktörüdür. Bu sayede autosens İnsülin Duyarlılık Faktörünün ne kadar düşük tutulacağını ve KŞ hedefini ne kadar düşük tutulabileceğine karar verir.Varsayılan değer: 0.7\nBu autosens için diğer güvenlik önlemidir. Bazal oranların ne kadar düştüğünü ve İnsülin Duyarlılık Faktörü ve KŞ hedeflerini ne kadar yüksek tutabileceğini gösterir.Autosens hedefleri de ayarlarVarsayılan değer: true\nBu autosens in İnsülin Duyarlılık Faktörü ve bazallara ek olarak KŞ hedeflerinin ayarlanmasında kullanılır.
@@ -457,7 +453,6 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d
Telefon numarası geçerli değilGeçersiz SMS telefon numarasıKalibrasyon
- Kalibrasyon %.1f xDrip\'e gönderilsin mi?xDrip+ uygulaması yüklenmemişKalibrasyon xDrip+ a gönderildiKalibrasyon gönderildi. Alma xDrip+\'ta etkinleştirilmelidir.
@@ -592,7 +587,6 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d
Emilim ayarlarıBesinin maksimum emilim süresi [h]Tüm karbonhidratların emileceği beklenen saat cinsinden süre
- Yayım bolusu% olarak görselleştirSAGEIAGECAGE
@@ -702,8 +696,6 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d
XDrip+\'a KŞ verilerini gönderXdrip+ içerisinde 640g/Eversense veri kaynağı seçNightscout Client KŞ
- Bazal değeri minimum desteklenen değerle değiştirilir: %s
- Bazal değeri maksimum desteklenen değerle değiştirilir: %sKŞ HesaplamasıBolus IOB (Aktif İnsülin) hesaplamasıBazal IOB hesaplaması
@@ -721,8 +713,6 @@ Aktif Karbonhidratın ne kadar hızlı sindirildiğine ve KŞ\'nin beklenenden d
Kapalı Döngü etkinleştirildiMaksimal IOB doğru şekilde ayarlandıSeçili kaynaktan KŞ kullanılabilir
- Bazal değerler saatlerle uyumlu değil: %s
- Geçersiz profil: %sPompa bolus vermek için hazırlanıyorYenileDurum
diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml
index a230e24174..2e1874e5ef 100644
--- a/app/src/main/res/values-zh/strings.xml
+++ b/app/src/main/res/values-zh/strings.xml
@@ -9,7 +9,6 @@
重置数据库你真的想重置数据库吗?退出
- 使用>200%的扩展大剂量(extended boluses)DanaR 蓝牙设备总是使用基础率的绝对值请重启你的手机或者从系统设置里重启AndroidAPS软件 \n 否则 Android APS将不会记录日志 (这对于跟踪和检查算法是否正确很重要)!
@@ -309,7 +308,6 @@
停止停止键按下了正在等待泵
- 将要输注 %.2fU设置可视化和监视, 并分析基础率和比率验证 Nightscout 中的血糖是否可用, 并且正在上传泵的胰岛素数据开始开环
@@ -332,7 +330,6 @@
闭环被禁用闭环被启用%1$.2f 超过 %2$.2f的限制
- 值 %s 超过了硬限制远程命令没有被允许要暂停闭环 %1$d 分钟请回复如下代码 %2$s临时基础率 %1$.2fU/h 持续 %2$d 分钟启用成功了
@@ -446,7 +443,6 @@
配置文件默认值: 3 这是一个关键的 OpenAPS 安全阀值。这是限制你的闭环可以最大扩张3倍的日最大基础率。你可能不需要改变这个值 但你应该这个值的含义。日最大基础率的3倍,当前基础率的4倍,这是建议的安全阀值默认值: 4 这是另一个的关键 OpenAPS 安全阀值, 日最大基础率的3倍,当前基础率的4倍,这是建议的安全阀值。这意味着你的基础率, 无论你的泵上的最大基础率设置的多少,也 不能超过你的当前基础率的4倍。这是为了防止人们在了解该算法的工作原理之前进入危险的领域 。同样, 默认值为 4倍; 大多数人将永远不需要调整, 而是更有可能需要调整其他设置,
- 默认值: 1.2 \n 这是 autosens 的安全阀值 对 autosens ( 很快autotune) 比率的高值设置最大增加20% 最大限制, 这反过来决定了 autosens 可以调整的基础率的上限值, 可以调整的胰岛素敏感系数的下限值, 以及它可以设置血糖目标的下限值。默认值: 0.7 \n 这是autosens 的另一个安全阈值, 。这个值决定了 autosens 可以调整的基础率的下限值, 可以调整的胰岛素敏感系数的上限值, 以及它可以设置血糖目标的上限值。Autosens 也调整目标血糖缺省值:是\n 这是用来允许 autosens调整血糖目标,还有 ISF胰岛素敏感系数和基础率这些参数。
@@ -459,7 +455,6 @@
电话号码无效无效的SMS手机号码校准
- 确认将校准值 %.1f 发送到 xDrip 吗?没有安装xDrip+校准发送到 xDrip校准值发送了,必须在xDrip开启允许通过其他app使用它的校准功能
@@ -599,7 +594,6 @@
食物吸收设置膳食最大吸收时间 [h]预计膳食中所有的碳水化合物被吸收的时间,以小时为单位
- 用百分比的形式显示扩展大剂量探头AGE胰岛素AGE管路AGE
@@ -712,8 +706,6 @@
将血糖数据发送到 xDrip +在 xDrip + 选择640g/Eversense 数据源NSClient 血糖
- 基础率值被泵支持的最小值: %s 替换了
- 基础率值被泵支持的最大值:%s 替换了血糖计算大剂量IOB (活性胰岛素) 计算基础率IOB (活性胰岛素) 计算
@@ -731,8 +723,6 @@
闭环模式启用了合理地设置最大 IOB所选的血糖值来源的血糖是可用的
- 基础率值与小时不一致:%s
- 无效的配置文件:%s正在调用泵上的大剂量输注程序刷新状态
@@ -1072,7 +1062,6 @@
记录操作模式更改记录报警启用 TBR (临时基础率) 模拟
- 使用扩展大剂量而不是TBRs(临时基础率) 绕过250%的限制断开连接延迟 [s]序列号发行软件版本
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index d877ff9bae..39269aa922 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -8,7 +8,7 @@
Reset DatabasesDo you really want to reset the databases?Exit
- Use extended boluses for >200%
+ Use extended boluses for >200%%DanaR Bluetooth deviceAlways use basal absolute valuesPlease reboot your phone or restart AndroidAPS from the System Settings \notherwise Android APS will not have logging (important to track and verify that the algorithms are working correctly)!
@@ -342,7 +342,7 @@
StopSTOP PRESSEDWaiting for pump
- Going to deliver %.2fU
+ Going to deliver %1$.2fUSetting up visualization and monitoring, and analyzing basals and ratiosVerify that BG is available in Nightscout, and pump insulin data is being uploadedStarting on an open loop
@@ -365,7 +365,7 @@
Loop is disabledLoop is enabled%1$.2f limited to %2$.2f
- Value %s is out of hard limits
+ Value %1$s is out of hard limitsRemote command is not allowedRemote bolus not available. Try again later.To start basal %1$.2fU/h for %2$d min reply with code %3$s
@@ -496,7 +496,7 @@
Default value: 3 This is a key OpenAPS safety cap. What this does is limit your basals to be 3x (in this people) your biggest basal rate. You likely will not need to change this, but you should be aware that’s what is discussed about “3x max daily; 4x current” for safety caps.Default value: 4 This is the other half of the key OpenAPS safety caps, and the other half of “3x max daily; 4x current” of the safety caps. This means your basal, regardless of max basal set on your pump, cannot be any higher than this number times the current level of your basal. This is to prevent people from getting into dangerous territory by setting excessively high max basals before understanding how the algorithm works. Again, the default is 4x; most people will never need to adjust this and are instead more likely to need to adjust other settings if they feel like they are “running into” this safety cap.autosens_max
- Default value: 1.2\nThis is a multiplier cap for autosens (and soon autotune) to set a 20% max limit on how high the autosens ratio can be, which in turn determines how high autosens can adjust basals, how low it can adjust ISF, and how low it can set the BG target.
+ Default value: 1.2\nThis is a multiplier cap for autosens (and soon autotune) to set a 20%% max limit on how high the autosens ratio can be, which in turn determines how high autosens can adjust basals, how low it can adjust ISF, and how low it can set the BG target.autosens_minDefault value: 0.7\nThe other side of the autosens safety limits, putting a cap on how low autosens can adjust basals, and how high it can adjust ISF and BG targets.autosens_adjust_targets
@@ -514,7 +514,7 @@
Phone number not validInvalid SMS phone numberCalibration
- Send calibration %.1f to xDrip?
+ Send calibration %1$.1f to xDrip?xDrip+ not installedCalibration sent to xDripCalibration sent. Receiving must be enabled in xDrip.
@@ -696,7 +696,7 @@
Meal max absorption time [h]Time in hours where is expected all carbs from meal will be absorbedrangetodisplay
- Visualize extended bolus as %
+ Visualize extended bolus as %%SAGEIAGECAGE
@@ -836,8 +836,8 @@
dexcomg5_xdripuploadIn xDrip+ select 640g/Eversense data sourceNSClient BG
- Basal value replaced by minimal supported value: %s
- Basal value replaced by maximum supported value: %s
+ Basal value replaced by minimal supported value: %1$s
+ Basal value replaced by maximum supported value: %1$sBG calculationBolus IOB calculationBasal IOB calculation
@@ -855,8 +855,8 @@
Closed mode enabledMaximal IOB set properlyBG available from selected source
- Basal values not aligned to hours: %s
- Invalid profile: %s
+ Basal values not aligned to hours: %1$s
+ Invalid profile: %1$sProgramming pump for bolusingRefreshState
@@ -1217,7 +1217,6 @@
A treatment (insulin: %1$.2f, carbs: %2$d, at: %3$s) could not be added to treatments. Please check and manually add a record as appropriate.eCarbs: %1$d g (%2$d h), delay: %3$d m
- key_plugin_stats_report_timestampNo autosens data availableLog settingsReset to defaults
@@ -1254,12 +1253,13 @@
MutePump alertLog site changes
+ Log reservoir changesLog tube changesLog battery changesLog operating mode changesLog alertsEnable TBR emulation
- Use extended boluses instead of TBRs to bypass the 250% limit
+ Use extended boluses instead of TBRs to bypass the 250%% limitDisconnect delay [s]Serial numberRelease software version
diff --git a/app/src/main/res/xml/filepaths.xml b/app/src/main/res/xml/filepaths.xml
index 7490f459d4..c9f65d8f56 100644
--- a/app/src/main/res/xml/filepaths.xml
+++ b/app/src/main/res/xml/filepaths.xml
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/app/src/main/res/xml/pref_insight_local.xml b/app/src/main/res/xml/pref_insight_local.xml
index 4cb9fa6d18..02c4ce752b 100644
--- a/app/src/main/res/xml/pref_insight_local.xml
+++ b/app/src/main/res/xml/pref_insight_local.xml
@@ -10,14 +10,19 @@
+ android:key="insight_log_reservoir_changes"
+ android:title="@string/log_reservoir_changes" />
+
+
+
+
+ android:title="@string/high_temptarget_raises_sensitivity_title"
+ android:enabled="false"
+ />
+
+ android:title="@string/low_temptarget_lowers_sensitivity_title"
+ android:enabled="false"
+ />
diff --git a/app/src/main/res/xml/pref_others.xml b/app/src/main/res/xml/pref_others.xml
index 5d3b365cb6..cbe2b9c705 100644
--- a/app/src/main/res/xml/pref_others.xml
+++ b/app/src/main/res/xml/pref_others.xml
@@ -9,49 +9,49 @@
android:defaultValue="0"
android:inputType="number"
android:key="@string/key_eatingsoon_duration"
- android:title="@string/eatingsoon_duration">
+ android:title="@string/eatingsoon_duration" />
+ android:title="@string/eatingsoon_target" />
+ android:title="@string/activity_duration" />
+ android:title="@string/activity_target" />
+ android:title="@string/hypo_duration" />
+ android:title="@string/hypo_target" />
+ android:title="@string/button1" />
+ android:title="@string/button2" />
+ android:title="@string/button3" />
+ android:title="@string/low_mark" />
+ android:title="@string/high_mark" />
+ android:title="@string/nsalarm_staledatavalue_label" />
-
+ android:summary="@string/smscommunicator_allowednumbers_summary"
+ android:title="@string/smscommunicator_allowednumbers" />
()), 0.001d);
}
+ @Test
+ public void calculateGlucoseStatusForLibreTestBgData() {
+ when(iobCobCalculatorPlugin.getBgReadings()).thenReturn(generateLibreTestData());
+
+ GlucoseStatus glucoseStatus = GlucoseStatus.getGlucoseStatusData();
+
+ Assert.assertEquals(100d, glucoseStatus.glucose, 0.001d); //
+ Assert.assertEquals(-10d, glucoseStatus.delta, 0.001d);
+ Assert.assertEquals(-10d, glucoseStatus.short_avgdelta, 0.001d);
+ Assert.assertEquals(-10d, glucoseStatus.avgdelta, 0.001d);
+ Assert.assertEquals(-10d, glucoseStatus.long_avgdelta, 0.001d);
+ Assert.assertEquals(1514766900000L, glucoseStatus.date); // latest date
+ }
+
@Before
public void initMocking() {
AAPSMocker.mockMainApp();
@@ -184,4 +196,25 @@ public class GlucoseStatusTest {
}
return list;
}
+ List generateLibreTestData() {
+ List list = new ArrayList<>();
+ try {
+ long end_time = 1514766900000L;
+ double latest_reading = 100d;
+ // Now
+ list.add(new BgReading(new NSSgv(new JSONObject("{\"mgdl\":" + (latest_reading) + ",\"mills\":" + (end_time) + ",\"direction\":\"Flat\"}"))));
+ // One minute ago
+ list.add(new BgReading(new NSSgv(new JSONObject("{\"mgdl\":" + (latest_reading) + ",\"mills\":" + (end_time - (1000 * 60 * 1)) + ",\"direction\":\"Flat\"}"))));
+ // Two minutes ago
+ list.add(new BgReading(new NSSgv(new JSONObject("{\"mgdl\":" + (latest_reading) + ",\"mills\":" + (end_time - (1000 * 60 * 2)) + ",\"direction\":\"Flat\"}"))));
+
+ // Three minutes and beyond at constant rate
+ for (int i=3; i < 50; i++) {
+ list.add(new BgReading(new NSSgv(new JSONObject("{\"mgdl\":" + (latest_reading + (i*2)) + ",\"mills\":" + (end_time - (1000 * 60 * i)) + ",\"direction\":\"Flat\"}"))));
+ }
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ return list;
+ }
}
diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/pump/danaRS/comm/DanaRS_Packet_APS_History_EventsTest.java b/app/src/test/java/info/nightscout/androidaps/plugins/pump/danaRS/comm/DanaRS_Packet_APS_History_EventsTest.java
index 18527e0612..309644d7f0 100644
--- a/app/src/test/java/info/nightscout/androidaps/plugins/pump/danaRS/comm/DanaRS_Packet_APS_History_EventsTest.java
+++ b/app/src/test/java/info/nightscout/androidaps/plugins/pump/danaRS/comm/DanaRS_Packet_APS_History_EventsTest.java
@@ -3,6 +3,7 @@ package info.nightscout.androidaps.plugins.pump.danaRS.comm;
import android.content.Context;
+import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.api.mockito.PowerMockito;
@@ -20,34 +21,26 @@ import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin;
import info.nightscout.androidaps.plugins.general.nsclient.NSUpload;
import info.nightscout.androidaps.plugins.treatments.TreatmentService;
import info.nightscout.androidaps.plugins.treatments.TreatmentsPlugin;
+import info.nightscout.androidaps.utils.DateUtil;
import info.nightscout.androidaps.utils.SP;
import static org.junit.Assert.assertEquals;
+import static org.powermock.api.mockito.PowerMockito.when;
/**
* Created by Rumen on 31.07.2018.
*/
@RunWith(PowerMockRunner.class)
-@PrepareForTest({SP.class, MainApp.class, ConfigBuilderPlugin.class, Context.class, NSUpload.class, TreatmentsPlugin.class, TreatmentService.class, DatabaseHelper.class})
+@PrepareForTest({SP.class, MainApp.class, ConfigBuilderPlugin.class, Context.class, NSUpload.class, TreatmentsPlugin.class, TreatmentService.class, DatabaseHelper.class, DateUtil.class})
public class DanaRS_Packet_APS_History_EventsTest extends DanaRS_Packet_APS_History_Events {
@Test
public void runTest() {
- AAPSMocker.mockMainApp();
- AAPSMocker.mockApplicationContext();
- AAPSMocker.mockSP();
- AAPSMocker.mockBus();
- SPMocker.prepareMock();
- SP.putString("profile", AAPSMocker.getValidProfileStore().getData().toString());
- AAPSMocker.mockConfigBuilder();
- AAPSMocker.mockStrings();
- PowerMockito.mockStatic(NSUpload.class);
- AAPSMocker.mockDatabaseHelper();
- DanaRS_Packet_APS_History_Events testPacket = new DanaRS_Packet_APS_History_Events(System.currentTimeMillis());
+ DanaRS_Packet_APS_History_Events testPacket = new DanaRS_Packet_APS_History_Events(DateUtil.now());
// test getRequestedParams
byte[] returnedValues = testPacket.getRequestParams();
- byte[] expectedValues = getCalender(System.currentTimeMillis());
+ byte[] expectedValues = getCalender(DateUtil.now());
//year
assertEquals(expectedValues[0], returnedValues[0]);
//month
@@ -70,15 +63,15 @@ public class DanaRS_Packet_APS_History_EventsTest extends DanaRS_Packet_APS_Hist
assertEquals("APS_HISTORY_EVENTS", getFriendlyName());
}
- byte[] createArray(int length, byte fillWith){
+ byte[] createArray(int length, byte fillWith) {
byte[] ret = new byte[length];
- for(int i = 0; i
-