Merge remote-tracking branch 'milosremote/dev' into develop
This commit is contained in:
commit
07822811ac
25 changed files with 100 additions and 136 deletions
|
@ -44,7 +44,7 @@ android {
|
||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
targetSdkVersion 23
|
targetSdkVersion 23
|
||||||
versionCode 1500
|
versionCode 1500
|
||||||
version "1.5f"
|
version "1.5g"
|
||||||
buildConfigField "String", "VERSION", '"' + version + '"'
|
buildConfigField "String", "VERSION", '"' + version + '"'
|
||||||
buildConfigField "String", "BUILDVERSION", generateGitBuild()
|
buildConfigField "String", "BUILDVERSION", generateGitBuild()
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,14 +33,6 @@ public class Constants {
|
||||||
public static final int CPP_MIN_PERCENTAGE = 50;
|
public static final int CPP_MIN_PERCENTAGE = 50;
|
||||||
public static final int CPP_MAX_PERCENTAGE = 200;
|
public static final int CPP_MAX_PERCENTAGE = 200;
|
||||||
|
|
||||||
// Defaults for settings
|
|
||||||
public static final Double MAX_BG_DEFAULT_MGDL = 180d;
|
|
||||||
public static final Double MAX_BG_DEFAULT_MMOL = 10d;
|
|
||||||
public static final Double MIN_BG_DEFAULT_MGDL = 100d;
|
|
||||||
public static final Double MIN_BG_DEFAULT_MMOL = 5d;
|
|
||||||
public static final Double TARGET_BG_DEFAULT_MGDL = 150d;
|
|
||||||
public static final Double TARGET_BG_DEFAULT_MMOL = 7d;
|
|
||||||
|
|
||||||
// Very Hard Limits Ranges
|
// Very Hard Limits Ranges
|
||||||
// First value is the Lowest and second value is the Highest a Limit can define
|
// First value is the Lowest and second value is the Highest a Limit can define
|
||||||
public static final int[] VERY_HARD_LIMIT_MIN_BG = {72,180};
|
public static final int[] VERY_HARD_LIMIT_MIN_BG = {72,180};
|
||||||
|
|
|
@ -36,6 +36,7 @@ import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import info.nightscout.androidaps.Services.AlarmSoundService;
|
import info.nightscout.androidaps.Services.AlarmSoundService;
|
||||||
|
import info.nightscout.androidaps.data.Profile;
|
||||||
import info.nightscout.androidaps.events.EventAppExit;
|
import info.nightscout.androidaps.events.EventAppExit;
|
||||||
import info.nightscout.androidaps.events.EventPreferenceChange;
|
import info.nightscout.androidaps.events.EventPreferenceChange;
|
||||||
import info.nightscout.androidaps.events.EventRefreshGui;
|
import info.nightscout.androidaps.events.EventRefreshGui;
|
||||||
|
@ -79,6 +80,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
|
||||||
Manifest.permission.WRITE_EXTERNAL_STORAGE}, CASE_STORAGE);
|
Manifest.permission.WRITE_EXTERNAL_STORAGE}, CASE_STORAGE);
|
||||||
}
|
}
|
||||||
askForBatteryOptimizationPermission();
|
askForBatteryOptimizationPermission();
|
||||||
|
checkUpgradeToProfileTarget();
|
||||||
if (Config.logFunctionCalls)
|
if (Config.logFunctionCalls)
|
||||||
log.debug("onCreate");
|
log.debug("onCreate");
|
||||||
|
|
||||||
|
@ -154,6 +156,29 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void checkUpgradeToProfileTarget() { // TODO: can be removed in the future
|
||||||
|
boolean oldKeyExists = SP.contains("openapsma_min_bg");
|
||||||
|
if (oldKeyExists) {
|
||||||
|
Profile profile = MainApp.getConfigBuilder().getProfile();
|
||||||
|
String oldRange = SP.getDouble("openapsma_min_bg", 0d) + " - " + SP.getDouble("openapsma_max_bg", 0d);
|
||||||
|
String newRange = "";
|
||||||
|
if (profile != null) {
|
||||||
|
newRange = profile.getTargetLow() + " - " + profile.getTargetHigh();
|
||||||
|
}
|
||||||
|
String message = "Target range is changed in current version.\n\nIt's not taken from preferences but from profile.\n\n!!! REVIEW YOUR SETTINGS !!!";
|
||||||
|
message += "\n\nOld settings: " + oldRange;
|
||||||
|
message += "\nProfile settings: " + newRange;
|
||||||
|
OKDialog.show(this, "Target range change", message, new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
SP.remove("openapsma_min_bg");
|
||||||
|
SP.remove("openapsma_max_bg");
|
||||||
|
SP.remove("openapsma_target_bg");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//check for sms permission if enable in prefernces
|
//check for sms permission if enable in prefernces
|
||||||
@Subscribe
|
@Subscribe
|
||||||
public void onStatusEvent(final EventPreferenceChange ev) {
|
public void onStatusEvent(final EventPreferenceChange ev) {
|
||||||
|
|
|
@ -28,5 +28,6 @@ public class DetailedBolusInfo {
|
||||||
public JSONObject boluscalc = null; // additional bolus wizard info
|
public JSONObject boluscalc = null; // additional bolus wizard info
|
||||||
public Context context = null; // context for progress dialog
|
public Context context = null; // context for progress dialog
|
||||||
public boolean addToTreatments = true;
|
public boolean addToTreatments = true;
|
||||||
public long pumpId = 0; // id of record if comming from pump history (not a newly created treatment)
|
public long pumpId = 0; // id of record if comming from pump history (not a newly created treatment)
|
||||||
|
public boolean isSMB = false; // is a Super-MicroBolus
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,7 +60,7 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper {
|
||||||
public static final String DATABASE_CAREPORTALEVENTS = "CareportalEvents";
|
public static final String DATABASE_CAREPORTALEVENTS = "CareportalEvents";
|
||||||
public static final String DATABASE_PROFILESWITCHES = "ProfileSwitches";
|
public static final String DATABASE_PROFILESWITCHES = "ProfileSwitches";
|
||||||
|
|
||||||
private static final int DATABASE_VERSION = 7;
|
private static final int DATABASE_VERSION = 8;
|
||||||
|
|
||||||
private static Long earliestDataChange = null;
|
private static Long earliestDataChange = null;
|
||||||
|
|
||||||
|
@ -113,17 +113,23 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper {
|
||||||
@Override
|
@Override
|
||||||
public void onUpgrade(SQLiteDatabase database, ConnectionSource connectionSource, int oldVersion, int newVersion) {
|
public void onUpgrade(SQLiteDatabase database, ConnectionSource connectionSource, int oldVersion, int newVersion) {
|
||||||
try {
|
try {
|
||||||
log.info(DatabaseHelper.class.getName(), "onUpgrade");
|
if (oldVersion == 7 && newVersion == 8) {
|
||||||
TableUtils.dropTable(connectionSource, TempTarget.class, true);
|
log.debug("Upgrading database from v7 to v8");
|
||||||
TableUtils.dropTable(connectionSource, Treatment.class, true);
|
TableUtils.dropTable(connectionSource, Treatment.class, true);
|
||||||
TableUtils.dropTable(connectionSource, BgReading.class, true);
|
TableUtils.createTableIfNotExists(connectionSource, Treatment.class);
|
||||||
TableUtils.dropTable(connectionSource, DanaRHistoryRecord.class, true);
|
} else {
|
||||||
TableUtils.dropTable(connectionSource, DbRequest.class, true);
|
log.info(DatabaseHelper.class.getName(), "onUpgrade");
|
||||||
TableUtils.dropTable(connectionSource, TemporaryBasal.class, true);
|
TableUtils.dropTable(connectionSource, TempTarget.class, true);
|
||||||
TableUtils.dropTable(connectionSource, ExtendedBolus.class, true);
|
TableUtils.dropTable(connectionSource, Treatment.class, true);
|
||||||
TableUtils.dropTable(connectionSource, CareportalEvent.class, true);
|
TableUtils.dropTable(connectionSource, BgReading.class, true);
|
||||||
TableUtils.dropTable(connectionSource, ProfileSwitch.class, true);
|
TableUtils.dropTable(connectionSource, DanaRHistoryRecord.class, true);
|
||||||
onCreate(database, connectionSource);
|
TableUtils.dropTable(connectionSource, DbRequest.class, true);
|
||||||
|
TableUtils.dropTable(connectionSource, TemporaryBasal.class, true);
|
||||||
|
TableUtils.dropTable(connectionSource, ExtendedBolus.class, true);
|
||||||
|
TableUtils.dropTable(connectionSource, CareportalEvent.class, true);
|
||||||
|
TableUtils.dropTable(connectionSource, ProfileSwitch.class, true);
|
||||||
|
onCreate(database, connectionSource);
|
||||||
|
}
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
log.error("Can't drop databases", e);
|
log.error("Can't drop databases", e);
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
|
@ -683,6 +689,8 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper {
|
||||||
treatment.insulin = trJson.has("insulin") ? trJson.getDouble("insulin") : 0d;
|
treatment.insulin = trJson.has("insulin") ? trJson.getDouble("insulin") : 0d;
|
||||||
treatment.pumpId = trJson.has("pumpId") ? trJson.getLong("pumpId") : 0;
|
treatment.pumpId = trJson.has("pumpId") ? trJson.getLong("pumpId") : 0;
|
||||||
treatment._id = trJson.getString("_id");
|
treatment._id = trJson.getString("_id");
|
||||||
|
if (trJson.has("isSMB"))
|
||||||
|
treatment.isSMB = trJson.getBoolean("isSMB");
|
||||||
if (trJson.has("eventType")) {
|
if (trJson.has("eventType")) {
|
||||||
treatment.mealBolus = !trJson.get("eventType").equals("Correction Bolus");
|
treatment.mealBolus = !trJson.get("eventType").equals("Correction Bolus");
|
||||||
double carbs = treatment.carbs;
|
double carbs = treatment.carbs;
|
||||||
|
@ -1260,6 +1268,7 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper {
|
||||||
scheduleExtendedBolusChange();
|
scheduleExtendedBolusChange();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public ExtendedBolus findExtendedBolusById(String _id) {
|
public ExtendedBolus findExtendedBolusById(String _id) {
|
||||||
try {
|
try {
|
||||||
QueryBuilder<ExtendedBolus, Long> queryBuilder = null;
|
QueryBuilder<ExtendedBolus, Long> queryBuilder = null;
|
||||||
|
|
|
@ -47,6 +47,8 @@ public class Treatment implements DataPointWithLabelInterface {
|
||||||
public double carbs = 0d;
|
public double carbs = 0d;
|
||||||
@DatabaseField
|
@DatabaseField
|
||||||
public boolean mealBolus = true; // true for meal bolus , false for correction bolus
|
public boolean mealBolus = true; // true for meal bolus , false for correction bolus
|
||||||
|
@DatabaseField
|
||||||
|
public boolean isSMB = false;
|
||||||
|
|
||||||
@DatabaseField
|
@DatabaseField
|
||||||
public int insulinInterfaceID = InsulinInterface.FASTACTINGINSULIN;
|
public int insulinInterfaceID = InsulinInterface.FASTACTINGINSULIN;
|
||||||
|
@ -79,6 +81,7 @@ public class Treatment implements DataPointWithLabelInterface {
|
||||||
"date= " + date +
|
"date= " + date +
|
||||||
", date= " + DateUtil.dateAndTimeString(date) +
|
", date= " + DateUtil.dateAndTimeString(date) +
|
||||||
", isValid= " + isValid +
|
", isValid= " + isValid +
|
||||||
|
", isSMB= " + isSMB +
|
||||||
", _id= " + _id +
|
", _id= " + _id +
|
||||||
", pumpId= " + pumpId +
|
", pumpId= " + pumpId +
|
||||||
", insulin= " + insulin +
|
", insulin= " + insulin +
|
||||||
|
@ -110,6 +113,8 @@ public class Treatment implements DataPointWithLabelInterface {
|
||||||
return false;
|
return false;
|
||||||
if (pumpId != other.pumpId)
|
if (pumpId != other.pumpId)
|
||||||
return false;
|
return false;
|
||||||
|
if (isSMB != other.isSMB)
|
||||||
|
return false;
|
||||||
if (!Objects.equals(_id, other._id))
|
if (!Objects.equals(_id, other._id))
|
||||||
return false;
|
return false;
|
||||||
return true;
|
return true;
|
||||||
|
@ -122,6 +127,7 @@ public class Treatment implements DataPointWithLabelInterface {
|
||||||
carbs = t.carbs;
|
carbs = t.carbs;
|
||||||
mealBolus = t.mealBolus;
|
mealBolus = t.mealBolus;
|
||||||
pumpId = t.pumpId;
|
pumpId = t.pumpId;
|
||||||
|
isSMB = t.isSMB;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------- DataPointInterface --------------------
|
// ----------------- DataPointInterface --------------------
|
||||||
|
|
|
@ -183,7 +183,7 @@ public class NewNSTreatmentDialog extends DialogFragment implements View.OnClick
|
||||||
profile = MainApp.getConfigBuilder().getProfile();
|
profile = MainApp.getConfigBuilder().getProfile();
|
||||||
profileStore = ConfigBuilderPlugin.getActiveProfileInterface().getProfile();
|
profileStore = ConfigBuilderPlugin.getActiveProfileInterface().getProfile();
|
||||||
ArrayList<CharSequence> profileList;
|
ArrayList<CharSequence> profileList;
|
||||||
units = profile.getUnits();
|
units = profile != null ? profile.getUnits() : Constants.MGDL;
|
||||||
profileList = profileStore.getProfileList();
|
profileList = profileStore.getProfileList();
|
||||||
ArrayAdapter<CharSequence> adapter = new ArrayAdapter<CharSequence>(getContext(),
|
ArrayAdapter<CharSequence> adapter = new ArrayAdapter<CharSequence>(getContext(),
|
||||||
R.layout.spinner_centered, profileList);
|
R.layout.spinner_centered, profileList);
|
||||||
|
|
|
@ -12,7 +12,6 @@ import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -34,9 +33,6 @@ import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin;
|
||||||
import info.nightscout.androidaps.plugins.IobCobCalculator.events.BasalData;
|
import info.nightscout.androidaps.plugins.IobCobCalculator.events.BasalData;
|
||||||
import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventAutosensCalculationFinished;
|
import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventAutosensCalculationFinished;
|
||||||
import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventNewHistoryData;
|
import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventNewHistoryData;
|
||||||
import info.nightscout.utils.Round;
|
|
||||||
import info.nightscout.utils.SP;
|
|
||||||
import info.nightscout.utils.SafeParse;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by mike on 24.04.2017.
|
* Created by mike on 24.04.2017.
|
||||||
|
@ -390,7 +386,7 @@ public class IobCobCalculatorPlugin implements PluginBase {
|
||||||
}
|
}
|
||||||
delta = (bg - bucketed_data.get(i + 1).value);
|
delta = (bg - bucketed_data.get(i + 1).value);
|
||||||
|
|
||||||
IobTotal iob = calulateFromTreatmentsAndTemps(bgTime);
|
IobTotal iob = calculateFromTreatmentsAndTemps(bgTime);
|
||||||
|
|
||||||
double bgi = -iob.activity * sens * 5;
|
double bgi = -iob.activity * sens * 5;
|
||||||
double deviation = delta - bgi;
|
double deviation = delta - bgi;
|
||||||
|
@ -463,14 +459,20 @@ public class IobCobCalculatorPlugin implements PluginBase {
|
||||||
return getBGDataFrom;
|
return getBGDataFrom;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static IobTotal calulateFromTreatmentsAndTemps(long time) {
|
public static IobTotal calculateFromTreatmentsAndTempsSynchronized(long time) {
|
||||||
|
synchronized (dataLock) {
|
||||||
|
return calculateFromTreatmentsAndTemps(time);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static IobTotal calculateFromTreatmentsAndTemps(long time) {
|
||||||
long now = System.currentTimeMillis();
|
long now = System.currentTimeMillis();
|
||||||
time = roundUpTime(time);
|
time = roundUpTime(time);
|
||||||
if (time < now && iobTable.get(time) != null) {
|
if (time < now && iobTable.get(time) != null) {
|
||||||
//og.debug(">>> calulateFromTreatmentsAndTemps Cache hit " + new Date(time).toLocaleString());
|
//og.debug(">>> calculateFromTreatmentsAndTemps Cache hit " + new Date(time).toLocaleString());
|
||||||
return iobTable.get(time);
|
return iobTable.get(time);
|
||||||
} else {
|
} else {
|
||||||
//log.debug(">>> calulateFromTreatmentsAndTemps Cache miss " + new Date(time).toLocaleString());
|
//log.debug(">>> calculateFromTreatmentsAndTemps Cache miss " + new Date(time).toLocaleString());
|
||||||
}
|
}
|
||||||
IobTotal bolusIob = MainApp.getConfigBuilder().getCalculationToTimeTreatments(time).round();
|
IobTotal bolusIob = MainApp.getConfigBuilder().getCalculationToTimeTreatments(time).round();
|
||||||
IobTotal basalIob = MainApp.getConfigBuilder().getCalculationToTimeTempBasals(time).round();
|
IobTotal basalIob = MainApp.getConfigBuilder().getCalculationToTimeTempBasals(time).round();
|
||||||
|
@ -559,7 +561,7 @@ public class IobCobCalculatorPlugin implements PluginBase {
|
||||||
int pos = 0;
|
int pos = 0;
|
||||||
for (int i = 0; i < len; i++) {
|
for (int i = 0; i < len; i++) {
|
||||||
long t = time + i * 5 * 60000;
|
long t = time + i * 5 * 60000;
|
||||||
IobTotal iob = calulateFromTreatmentsAndTemps(t);
|
IobTotal iob = calculateFromTreatmentsAndTempsSynchronized(t);
|
||||||
array[pos] = iob;
|
array[pos] = iob;
|
||||||
pos++;
|
pos++;
|
||||||
}
|
}
|
||||||
|
|
|
@ -158,22 +158,11 @@ public class OpenAPSAMAPlugin implements PluginBase, APSInterface {
|
||||||
|
|
||||||
String units = profile.getUnits();
|
String units = profile.getUnits();
|
||||||
|
|
||||||
double maxBgDefault = Constants.MAX_BG_DEFAULT_MGDL;
|
|
||||||
double minBgDefault = Constants.MIN_BG_DEFAULT_MGDL;
|
|
||||||
double targetBgDefault = Constants.TARGET_BG_DEFAULT_MGDL;
|
|
||||||
if (!units.equals(Constants.MGDL)) {
|
|
||||||
maxBgDefault = Constants.MAX_BG_DEFAULT_MMOL;
|
|
||||||
minBgDefault = Constants.MIN_BG_DEFAULT_MMOL;
|
|
||||||
targetBgDefault = Constants.TARGET_BG_DEFAULT_MMOL;
|
|
||||||
}
|
|
||||||
|
|
||||||
Date now = new Date();
|
|
||||||
|
|
||||||
double maxIob = SP.getDouble("openapsma_max_iob", 1.5d);
|
double maxIob = SP.getDouble("openapsma_max_iob", 1.5d);
|
||||||
double maxBasal = SP.getDouble("openapsma_max_basal", 1d);
|
double maxBasal = SP.getDouble("openapsma_max_basal", 1d);
|
||||||
double minBg = Profile.toMgdl(SP.getDouble("openapsma_min_bg", minBgDefault), units);
|
double minBg = Profile.toMgdl(profile.getTargetLow(), units);
|
||||||
double maxBg = Profile.toMgdl(SP.getDouble("openapsma_max_bg", maxBgDefault), units);
|
double maxBg = Profile.toMgdl(profile.getTargetHigh(), units);
|
||||||
double targetBg = Profile.toMgdl(SP.getDouble("openapsma_target_bg", targetBgDefault), units);
|
double targetBg = (minBg + maxBg) / 2;
|
||||||
|
|
||||||
minBg = Round.roundTo(minBg, 0.1d);
|
minBg = Round.roundTo(minBg, 0.1d);
|
||||||
maxBg = Round.roundTo(maxBg, 0.1d);
|
maxBg = Round.roundTo(maxBg, 0.1d);
|
||||||
|
@ -248,6 +237,8 @@ public class OpenAPSAMAPlugin implements PluginBase, APSInterface {
|
||||||
|
|
||||||
determineBasalAdapterAMAJS.release();
|
determineBasalAdapterAMAJS.release();
|
||||||
|
|
||||||
|
Date now = new Date();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
determineBasalResultAMA.json.put("timestamp", DateUtil.toISOString(now));
|
determineBasalResultAMA.json.put("timestamp", DateUtil.toISOString(now));
|
||||||
} catch (JSONException e) {
|
} catch (JSONException e) {
|
||||||
|
|
|
@ -156,22 +156,13 @@ public class OpenAPSMAPlugin implements PluginBase, APSInterface {
|
||||||
|
|
||||||
String units = profile.getUnits();
|
String units = profile.getUnits();
|
||||||
|
|
||||||
Double maxBgDefault = Constants.MAX_BG_DEFAULT_MGDL;
|
|
||||||
Double minBgDefault = Constants.MIN_BG_DEFAULT_MGDL;
|
|
||||||
Double targetBgDefault = Constants.TARGET_BG_DEFAULT_MGDL;
|
|
||||||
if (!units.equals(Constants.MGDL)) {
|
|
||||||
maxBgDefault = Constants.MAX_BG_DEFAULT_MMOL;
|
|
||||||
minBgDefault = Constants.MIN_BG_DEFAULT_MMOL;
|
|
||||||
targetBgDefault = Constants.TARGET_BG_DEFAULT_MMOL;
|
|
||||||
}
|
|
||||||
|
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
|
|
||||||
double maxIob = SP.getDouble("openapsma_max_iob", 1.5d);
|
double maxIob = SP.getDouble("openapsma_max_iob", 1.5d);
|
||||||
double maxBasal = SafeParse.stringToDouble(SP.getString("openapsma_max_basal", "1"));
|
double maxBasal = SafeParse.stringToDouble(SP.getString("openapsma_max_basal", "1"));
|
||||||
double minBg = Profile.toMgdl(SP.getDouble("openapsma_min_bg", minBgDefault), units);
|
double minBg = Profile.toMgdl(profile.getTargetLow(), units);
|
||||||
double maxBg = Profile.toMgdl(SP.getDouble("openapsma_max_bg", maxBgDefault), units);
|
double maxBg = Profile.toMgdl(profile.getTargetHigh(), units);
|
||||||
double targetBg = Profile.toMgdl(SP.getDouble("openapsma_target_bg", targetBgDefault), units);
|
double targetBg = (minBg + maxBg) / 2;
|
||||||
|
|
||||||
minBg = Round.roundTo(minBg, 0.1d);
|
minBg = Round.roundTo(minBg, 0.1d);
|
||||||
maxBg = Round.roundTo(maxBg, 0.1d);
|
maxBg = Round.roundTo(maxBg, 0.1d);
|
||||||
|
|
|
@ -959,16 +959,10 @@ public class OverviewFragment extends Fragment implements View.OnClickListener,
|
||||||
else
|
else
|
||||||
tempTargetView.setText(Profile.toUnitsString(tempTarget.low, Profile.fromMgdlToUnits(tempTarget.low, units), units) + " - " + Profile.toUnitsString(tempTarget.high, Profile.fromMgdlToUnits(tempTarget.high, units), units));
|
tempTargetView.setText(Profile.toUnitsString(tempTarget.low, Profile.fromMgdlToUnits(tempTarget.low, units), units) + " - " + Profile.toUnitsString(tempTarget.high, Profile.fromMgdlToUnits(tempTarget.high, units), units));
|
||||||
} else {
|
} else {
|
||||||
Double maxBgDefault = Constants.MAX_BG_DEFAULT_MGDL;
|
|
||||||
Double minBgDefault = Constants.MIN_BG_DEFAULT_MGDL;
|
|
||||||
if (!units.equals(Constants.MGDL)) {
|
|
||||||
maxBgDefault = Constants.MAX_BG_DEFAULT_MMOL;
|
|
||||||
minBgDefault = Constants.MIN_BG_DEFAULT_MMOL;
|
|
||||||
}
|
|
||||||
tempTargetView.setTextColor(Color.WHITE);
|
tempTargetView.setTextColor(Color.WHITE);
|
||||||
tempTargetView.setBackgroundColor(MainApp.sResources.getColor(R.color.tempTargetDisabledBackground));
|
tempTargetView.setBackgroundColor(MainApp.sResources.getColor(R.color.tempTargetDisabledBackground));
|
||||||
double low = SP.getDouble("openapsma_min_bg", minBgDefault);
|
double low = MainApp.getConfigBuilder().getProfile().getTargetLow();
|
||||||
double high = SP.getDouble("openapsma_max_bg", maxBgDefault);
|
double high = MainApp.getConfigBuilder().getProfile().getTargetHigh();
|
||||||
if (low == high)
|
if (low == high)
|
||||||
tempTargetView.setText("" + low);
|
tempTargetView.setText("" + low);
|
||||||
else
|
else
|
||||||
|
@ -1409,7 +1403,7 @@ public class OverviewFragment extends Fragment implements View.OnClickListener,
|
||||||
int lastCob = 0;
|
int lastCob = 0;
|
||||||
for (long time = fromTime; time <= now; time += 5 * 60 * 1000L) {
|
for (long time = fromTime; time <= now; time += 5 * 60 * 1000L) {
|
||||||
if (showIobView.isChecked()) {
|
if (showIobView.isChecked()) {
|
||||||
double iob = IobCobCalculatorPlugin.calulateFromTreatmentsAndTemps(time).iob;
|
double iob = IobCobCalculatorPlugin.calculateFromTreatmentsAndTempsSynchronized(time).iob;
|
||||||
if (Math.abs(lastIob - iob) > 0.02) {
|
if (Math.abs(lastIob - iob) > 0.02) {
|
||||||
if (Math.abs(lastIob - iob) > 0.2)
|
if (Math.abs(lastIob - iob) > 0.2)
|
||||||
iobArray.add(new DataPoint(time, lastIob));
|
iobArray.add(new DataPoint(time, lastIob));
|
||||||
|
|
|
@ -380,6 +380,9 @@ public class DanaRPlugin implements PluginBase, PumpInterface, DanaRInterface, C
|
||||||
if (percentRate > getPumpDescription().maxTempPercent) {
|
if (percentRate > getPumpDescription().maxTempPercent) {
|
||||||
percentRate = getPumpDescription().maxTempPercent;
|
percentRate = getPumpDescription().maxTempPercent;
|
||||||
}
|
}
|
||||||
|
if (Config.logPumpActions)
|
||||||
|
log.debug("setTempBasalAbsolute: Calculated percent rate: " + percentRate);
|
||||||
|
|
||||||
// If extended in progress
|
// If extended in progress
|
||||||
if (MainApp.getConfigBuilder().isInHistoryExtendedBoluslInProgress() && useExtendedBoluses) {
|
if (MainApp.getConfigBuilder().isInHistoryExtendedBoluslInProgress() && useExtendedBoluses) {
|
||||||
if (Config.logPumpActions)
|
if (Config.logPumpActions)
|
||||||
|
@ -393,7 +396,10 @@ public class DanaRPlugin implements PluginBase, PumpInterface, DanaRInterface, C
|
||||||
// Check if some temp is already in progress
|
// Check if some temp is already in progress
|
||||||
if (MainApp.getConfigBuilder().isInHistoryRealTempBasalInProgress()) {
|
if (MainApp.getConfigBuilder().isInHistoryRealTempBasalInProgress()) {
|
||||||
// Correct basal already set ?
|
// Correct basal already set ?
|
||||||
if (MainApp.getConfigBuilder().getRealTempBasalFromHistory(System.currentTimeMillis()).percentRate == percentRate) {
|
TemporaryBasal running = MainApp.getConfigBuilder().getRealTempBasalFromHistory(System.currentTimeMillis());
|
||||||
|
if (Config.logPumpActions)
|
||||||
|
log.debug("setTempBasalAbsolute: currently running: " + running.toString());
|
||||||
|
if (running.percentRate == percentRate) {
|
||||||
result.success = true;
|
result.success = true;
|
||||||
result.percent = percentRate;
|
result.percent = percentRate;
|
||||||
result.absolute = MainApp.getConfigBuilder().getTempBasalAbsoluteRateHistory();
|
result.absolute = MainApp.getConfigBuilder().getTempBasalAbsoluteRateHistory();
|
||||||
|
|
|
@ -477,18 +477,9 @@ public class ActionStringHandler {
|
||||||
ret += "\n\n";
|
ret += "\n\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
//Default Range/Target
|
|
||||||
Double maxBgDefault = Constants.MAX_BG_DEFAULT_MGDL;
|
|
||||||
Double minBgDefault = Constants.MIN_BG_DEFAULT_MGDL;
|
|
||||||
Double targetBgDefault = Constants.TARGET_BG_DEFAULT_MGDL;
|
|
||||||
if (!profile.getUnits().equals(Constants.MGDL)) {
|
|
||||||
maxBgDefault = Constants.MAX_BG_DEFAULT_MMOL;
|
|
||||||
minBgDefault = Constants.MIN_BG_DEFAULT_MMOL;
|
|
||||||
targetBgDefault = Constants.TARGET_BG_DEFAULT_MMOL;
|
|
||||||
}
|
|
||||||
ret += "DEFAULT RANGE: ";
|
ret += "DEFAULT RANGE: ";
|
||||||
ret += SP.getDouble("openapsma_min_bg", minBgDefault) + " - " + SP.getDouble("openapsma_max_bg", maxBgDefault);
|
ret += profile.getTargetLow() + " - " + profile.getTargetHigh();
|
||||||
ret += " target: " + SP.getDouble("openapsma_target_bg", targetBgDefault);
|
ret += " target: " + (profile.getTargetLow() + profile.getTargetHigh()) / 2;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -252,6 +252,7 @@ public class NSUpload {
|
||||||
if (detailedBolusInfo.carbs != 0d) data.put("carbs", (int) detailedBolusInfo.carbs);
|
if (detailedBolusInfo.carbs != 0d) data.put("carbs", (int) detailedBolusInfo.carbs);
|
||||||
data.put("created_at", DateUtil.toISOString(detailedBolusInfo.date));
|
data.put("created_at", DateUtil.toISOString(detailedBolusInfo.date));
|
||||||
data.put("date", detailedBolusInfo.date);
|
data.put("date", detailedBolusInfo.date);
|
||||||
|
data.put("isSMB", detailedBolusInfo.isSMB);
|
||||||
if (detailedBolusInfo.pumpId != 0)
|
if (detailedBolusInfo.pumpId != 0)
|
||||||
data.put("pumpId", detailedBolusInfo.pumpId);
|
data.put("pumpId", detailedBolusInfo.pumpId);
|
||||||
if (detailedBolusInfo.glucose != 0d)
|
if (detailedBolusInfo.glucose != 0d)
|
||||||
|
|
|
@ -88,12 +88,6 @@ public class SP {
|
||||||
editor.apply();
|
editor.apply();
|
||||||
}
|
}
|
||||||
|
|
||||||
static public void removeBoolean(int resourceID) {
|
|
||||||
SharedPreferences.Editor editor = sharedPreferences.edit();
|
|
||||||
editor.remove(MainApp.sResources.getString(resourceID));
|
|
||||||
editor.apply();
|
|
||||||
}
|
|
||||||
|
|
||||||
static public void putLong(String key, long value) {
|
static public void putLong(String key, long value) {
|
||||||
SharedPreferences.Editor editor = sharedPreferences.edit();
|
SharedPreferences.Editor editor = sharedPreferences.edit();
|
||||||
editor.putLong(key, value);
|
editor.putLong(key, value);
|
||||||
|
@ -130,9 +124,15 @@ public class SP {
|
||||||
editor.apply();
|
editor.apply();
|
||||||
}
|
}
|
||||||
|
|
||||||
static public void removeString(int resourceID) {
|
static public void remove(int resourceID) {
|
||||||
SharedPreferences.Editor editor = sharedPreferences.edit();
|
SharedPreferences.Editor editor = sharedPreferences.edit();
|
||||||
editor.remove(MainApp.sResources.getString(resourceID));
|
editor.remove(MainApp.sResources.getString(resourceID));
|
||||||
editor.apply();
|
editor.apply();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static public void remove(String key) {
|
||||||
|
SharedPreferences.Editor editor = sharedPreferences.edit();
|
||||||
|
editor.remove(key);
|
||||||
|
editor.apply();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -68,7 +68,6 @@
|
||||||
<string name="openapsma_nopump">Няма избана помпа</string>
|
<string name="openapsma_nopump">Няма избана помпа</string>
|
||||||
<string name="nochangerequested">Не се изисква промяна</string>
|
<string name="nochangerequested">Не се изисква промяна</string>
|
||||||
<string name="openapsma_request_label">Искане</string>
|
<string name="openapsma_request_label">Искане</string>
|
||||||
<string name="openapsma_minbg_label">Долна граница(КЗ)</string>
|
|
||||||
<string name="rate">Стойност</string>
|
<string name="rate">Стойност</string>
|
||||||
<string name="duration">Срок</string>
|
<string name="duration">Срок</string>
|
||||||
<string name="reason">Основание</string>
|
<string name="reason">Основание</string>
|
||||||
|
@ -204,8 +203,6 @@
|
||||||
<string name="el_lang">Greek</string>
|
<string name="el_lang">Greek</string>
|
||||||
<string name="it_lang">Italian</string>
|
<string name="it_lang">Italian</string>
|
||||||
<string name="ru_lang">Russian</string>
|
<string name="ru_lang">Russian</string>
|
||||||
<string name="openapsma_low_summary">Мин. стойност, която е в границите</string>
|
|
||||||
<string name="openapsma_high_summary">Максималната стойност на КЗ за да бъде в границите.</string>
|
|
||||||
<string name="openapsma_maxbasal_title">Максимално позволен временен базал Е/ч</string>
|
<string name="openapsma_maxbasal_title">Максимално позволен временен базал Е/ч</string>
|
||||||
<string name="openapsma_maxbasal_summary">Макс. лимит на временен базал [Е/ч] </string>
|
<string name="openapsma_maxbasal_summary">Макс. лимит на временен базал [Е/ч] </string>
|
||||||
<string name="openapsma_maxiob_title">Максимален IOB</string>
|
<string name="openapsma_maxiob_title">Максимален IOB</string>
|
||||||
|
@ -311,7 +308,6 @@
|
||||||
<string name="objectives_5_gate">Една седмица успешно дневно използване с редовно въвеждане на въглехидрати</string>
|
<string name="objectives_5_gate">Една седмица успешно дневно използване с редовно въвеждане на въглехидрати</string>
|
||||||
<string name="objectives_6_objective">Активиране на допълнителни функции за дневно използване, включително и advanced meal assist </string>
|
<string name="objectives_6_objective">Активиране на допълнителни функции за дневно използване, включително и advanced meal assist </string>
|
||||||
<string name="youareonallowedlimit">Достигнахте лимита</string>
|
<string name="youareonallowedlimit">Достигнахте лимита</string>
|
||||||
<string name="openapsma_target_bg">Целева стойност използвана в изчисленията</string>
|
|
||||||
<string name="noprofileselected">Няма избран профил</string>
|
<string name="noprofileselected">Няма избран профил</string>
|
||||||
<string name="smscommunicator_loophasbeendisabled">Loop has been disabled</string>
|
<string name="smscommunicator_loophasbeendisabled">Loop has been disabled</string>
|
||||||
<string name="smscommunicator_loophasbeenenabled">Loop has been enabled</string>
|
<string name="smscommunicator_loophasbeenenabled">Loop has been enabled</string>
|
||||||
|
|
|
@ -104,7 +104,6 @@
|
||||||
<string name="openapsma_lastenact_label">Poslední provedení</string>
|
<string name="openapsma_lastenact_label">Poslední provedení</string>
|
||||||
<string name="openapsma_lastrun_label">Poslední spuštění</string>
|
<string name="openapsma_lastrun_label">Poslední spuštění</string>
|
||||||
<string name="openapsma_mealdata_label">Data o jídle</string>
|
<string name="openapsma_mealdata_label">Data o jídle</string>
|
||||||
<string name="openapsma_minbg_label">Cílová nízká glykémie</string>
|
|
||||||
<string name="openapsma_noglucosedata">Nedostupná data o glykémiích</string>
|
<string name="openapsma_noglucosedata">Nedostupná data o glykémiích</string>
|
||||||
<string name="openapsma_noprofile">Nedostupný profil</string>
|
<string name="openapsma_noprofile">Nedostupný profil</string>
|
||||||
<string name="openapsma_nopump">Žádná pumpa</string>
|
<string name="openapsma_nopump">Žádná pumpa</string>
|
||||||
|
@ -184,8 +183,6 @@
|
||||||
<string name="nav_export">Exportovat nastavení</string>
|
<string name="nav_export">Exportovat nastavení</string>
|
||||||
<string name="nav_import">Importovat nastavení</string>
|
<string name="nav_import">Importovat nastavení</string>
|
||||||
<string name="de_lang">German</string>
|
<string name="de_lang">German</string>
|
||||||
<string name="openapsma_high_summary">Maximální hodnota glykémie ještě v rozsahu</string>
|
|
||||||
<string name="openapsma_low_summary">Minimální hodnota glykémie ještě v rozsahu</string>
|
|
||||||
<string name="bg_lang">Bulgarian</string>
|
<string name="bg_lang">Bulgarian</string>
|
||||||
<string name="dismiss">POTVRDIT</string>
|
<string name="dismiss">POTVRDIT</string>
|
||||||
<string name="language">Jazyk</string>
|
<string name="language">Jazyk</string>
|
||||||
|
@ -282,7 +279,6 @@
|
||||||
<string name="objectives_5_objective">Upravit bazály a koeficinty, když bude potřeba a povolit automatickou detekci citlivosti na inzulín</string>
|
<string name="objectives_5_objective">Upravit bazály a koeficinty, když bude potřeba a povolit automatickou detekci citlivosti na inzulín</string>
|
||||||
<string name="objectives_6_objective">Povolit další fukce pro běžné používání jako AMA</string>
|
<string name="objectives_6_objective">Povolit další fukce pro běžné používání jako AMA</string>
|
||||||
<string name="youareonallowedlimit">Dosaženo limitu</string>
|
<string name="youareonallowedlimit">Dosaženo limitu</string>
|
||||||
<string name="openapsma_target_bg">Cílová hodnota pro výpočty</string>
|
|
||||||
<string name="bolusdelivering" formatted="false">Aplikováno %.2fU</string>
|
<string name="bolusdelivering" formatted="false">Aplikováno %.2fU</string>
|
||||||
<string name="smscommunicator_loophasbeendisabled">Smyčka byla zakázána</string>
|
<string name="smscommunicator_loophasbeendisabled">Smyčka byla zakázána</string>
|
||||||
<string name="smscommunicator_loophasbeenenabled">Smyčka byla povolena</string>
|
<string name="smscommunicator_loophasbeenenabled">Smyčka byla povolena</string>
|
||||||
|
|
|
@ -128,7 +128,6 @@
|
||||||
<string name="openapsma_nopump">Keine Pumpe verfügbar</string>
|
<string name="openapsma_nopump">Keine Pumpe verfügbar</string>
|
||||||
<string name="openapsma_noprofile">Kein Profil verfügbar</string>
|
<string name="openapsma_noprofile">Kein Profil verfügbar</string>
|
||||||
<string name="openapsma_noglucosedata">Keine BZ Daten verfügbar</string>
|
<string name="openapsma_noglucosedata">Keine BZ Daten verfügbar</string>
|
||||||
<string name="openapsma_minbg_label">Low target</string>
|
|
||||||
<string name="openapsma_mealdata_label">Mahlzeiten Daten</string>
|
<string name="openapsma_mealdata_label">Mahlzeiten Daten</string>
|
||||||
<string name="openapsma_lastrun_label">Last run</string>
|
<string name="openapsma_lastrun_label">Last run</string>
|
||||||
<string name="openapsma_lastenact_label">Last enacted</string>
|
<string name="openapsma_lastenact_label">Last enacted</string>
|
||||||
|
@ -185,8 +184,6 @@
|
||||||
<string name="de_lang">Deutsch</string>
|
<string name="de_lang">Deutsch</string>
|
||||||
<string name="openapsma_maxbasal_summary">Max U/hr die man für eine Temp Basal setzen kann</string>
|
<string name="openapsma_maxbasal_summary">Max U/hr die man für eine Temp Basal setzen kann</string>
|
||||||
<string name="openapsma_maxiob_summary">Maximale Menge von nicht bolus IOB die OpenAPs abgeben kann</string>
|
<string name="openapsma_maxiob_summary">Maximale Menge von nicht bolus IOB die OpenAPs abgeben kann</string>
|
||||||
<string name="openapsma_high_summary">Maximalwert für deinen persönlichen Zielbereich.</string>
|
|
||||||
<string name="openapsma_low_summary">Minimalwert für deinen persönlichen Zielbereich.</string>
|
|
||||||
<string name="bg_lang">Bulgarian</string>
|
<string name="bg_lang">Bulgarian</string>
|
||||||
<string name="nightscout">Nightscout</string>
|
<string name="nightscout">Nightscout</string>
|
||||||
<string name="smscommunicator_allowednumbers_summary">+XXXXXXXXXX;+YYYYYYYYYY</string>
|
<string name="smscommunicator_allowednumbers_summary">+XXXXXXXXXX;+YYYYYYYYYY</string>
|
||||||
|
|
|
@ -66,7 +66,6 @@
|
||||||
<string name="openapsma_nopump">No se dispone de bomba</string>
|
<string name="openapsma_nopump">No se dispone de bomba</string>
|
||||||
<string name="nochangerequested">Ninguna acción requerida</string>
|
<string name="nochangerequested">Ninguna acción requerida</string>
|
||||||
<string name="openapsma_request_label">Solicitud</string>
|
<string name="openapsma_request_label">Solicitud</string>
|
||||||
<string name="openapsma_minbg_label">Objetivo mínimo</string>
|
|
||||||
<string name="rate">Dosis</string>
|
<string name="rate">Dosis</string>
|
||||||
<string name="duration">Duración</string>
|
<string name="duration">Duración</string>
|
||||||
<string name="reason">Razón</string>
|
<string name="reason">Razón</string>
|
||||||
|
@ -192,8 +191,6 @@
|
||||||
<string name="nav_export">Exportar ajustes</string>
|
<string name="nav_export">Exportar ajustes</string>
|
||||||
<string name="nav_import">Importar ajustes</string>
|
<string name="nav_import">Importar ajustes</string>
|
||||||
<string name="de_lang">German</string>
|
<string name="de_lang">German</string>
|
||||||
<string name="openapsma_low_summary">Valor mínimo de BG para estar en rango</string>
|
|
||||||
<string name="openapsma_high_summary">Valor máximo BG para estar en rango</string>
|
|
||||||
<string name="openapsma_maxbasal_summary">Max valor U / hr en Basal temporal</string>
|
<string name="openapsma_maxbasal_summary">Max valor U / hr en Basal temporal</string>
|
||||||
<string name="openapsma_maxiob_summary">Máximos basales IOB para OpenAPS [U]</string>
|
<string name="openapsma_maxiob_summary">Máximos basales IOB para OpenAPS [U]</string>
|
||||||
<string name="bg_lang">Bulgarian</string>
|
<string name="bg_lang">Bulgarian</string>
|
||||||
|
@ -294,7 +291,6 @@
|
||||||
<string name="objectives_5_gate">1 semana lazo cerrado completado con entrada regular de carbohidratos</string>
|
<string name="objectives_5_gate">1 semana lazo cerrado completado con entrada regular de carbohidratos</string>
|
||||||
<string name="objectives_6_objective">Habilitar funciones adicionales para su uso durante el día, como asistente de comida avanzado</string>
|
<string name="objectives_6_objective">Habilitar funciones adicionales para su uso durante el día, como asistente de comida avanzado</string>
|
||||||
<string name="youareonallowedlimit">Alcanzado el límite permitido</string>
|
<string name="youareonallowedlimit">Alcanzado el límite permitido</string>
|
||||||
<string name="openapsma_target_bg">Valor objetivo para los cálculos</string>
|
|
||||||
<string name="noprofileselected">Sin perfil seleccionado</string>
|
<string name="noprofileselected">Sin perfil seleccionado</string>
|
||||||
<string name="ko_lang">Korean</string>
|
<string name="ko_lang">Korean</string>
|
||||||
<string name="actions">Acciones</string>
|
<string name="actions">Acciones</string>
|
||||||
|
|
|
@ -264,12 +264,9 @@
|
||||||
<string name="openapsma">OpenAPS MA</string>
|
<string name="openapsma">OpenAPS MA</string>
|
||||||
<string name="openapsma_disabled">Plugin e\' disabilitato</string>
|
<string name="openapsma_disabled">Plugin e\' disabilitato</string>
|
||||||
<string name="openapsma_glucosestatus_label">Stato glucosio</string>
|
<string name="openapsma_glucosestatus_label">Stato glucosio</string>
|
||||||
<string name="openapsma_high_summary">Valore massimo di Bg nel range</string>
|
|
||||||
<string name="openapsma_inputparameters_label">Entrata parametro</string>
|
<string name="openapsma_inputparameters_label">Entrata parametro</string>
|
||||||
<string name="openapsma_low_summary">Valore minimo di Bg nel range</string>
|
|
||||||
<string name="openapsma_maxbasal_summary">Il valore e\' chiamati basale in OpenAPS</string>
|
<string name="openapsma_maxbasal_summary">Il valore e\' chiamati basale in OpenAPS</string>
|
||||||
<string name="openapsma_maxiob_title">Basale Massima in IOB OpenAPS</string>
|
<string name="openapsma_maxiob_title">Basale Massima in IOB OpenAPS</string>
|
||||||
<string name="openapsma_minbg_label">Obbietivo minimo</string>
|
|
||||||
<string name="openapsma_iobdata_label">IOB dati</string>
|
<string name="openapsma_iobdata_label">IOB dati</string>
|
||||||
<string name="openapsma_lastenact_label">Ultimo attuato</string>
|
<string name="openapsma_lastenact_label">Ultimo attuato</string>
|
||||||
<string name="openapsma_lastrun_label">Ultimo corsa</string>
|
<string name="openapsma_lastrun_label">Ultimo corsa</string>
|
||||||
|
@ -344,7 +341,6 @@
|
||||||
<string name="objectives_0_objective">Impostazione di visualizzazione, monitoraggio e analisi basali e rapporti</string>
|
<string name="objectives_0_objective">Impostazione di visualizzazione, monitoraggio e analisi basali e rapporti</string>
|
||||||
<string name="objectives_1_gate">Eseguire in modalità Open Loop per alcuni giorni e impostare manualmente la basale tempor</string>
|
<string name="objectives_1_gate">Eseguire in modalità Open Loop per alcuni giorni e impostare manualmente la basale tempor</string>
|
||||||
<string name="openapsma_scriptdebugdata_label">Script debug</string>
|
<string name="openapsma_scriptdebugdata_label">Script debug</string>
|
||||||
<string name="openapsma_target_bg">Target per calcolare</string>
|
|
||||||
<string name="smscommunicator">Comunicazioni SMS</string>
|
<string name="smscommunicator">Comunicazioni SMS</string>
|
||||||
<string name="smscommunicator_allowednumbers">Numero di telefono acettato</string>
|
<string name="smscommunicator_allowednumbers">Numero di telefono acettato</string>
|
||||||
<string name="smscommunicator_bolusfailed">Bolo fallito</string>
|
<string name="smscommunicator_bolusfailed">Bolo fallito</string>
|
||||||
|
|
|
@ -68,7 +68,6 @@
|
||||||
<string name="openapsma_nopump">No pump available</string>
|
<string name="openapsma_nopump">No pump available</string>
|
||||||
<string name="nochangerequested">변경사항 없음</string>
|
<string name="nochangerequested">변경사항 없음</string>
|
||||||
<string name="openapsma_request_label">요청</string>
|
<string name="openapsma_request_label">요청</string>
|
||||||
<string name="openapsma_minbg_label">Low target</string>
|
|
||||||
<string name="rate">Rate</string>
|
<string name="rate">Rate</string>
|
||||||
<string name="duration">기간</string>
|
<string name="duration">기간</string>
|
||||||
<string name="reason">근거</string>
|
<string name="reason">근거</string>
|
||||||
|
@ -195,8 +194,6 @@
|
||||||
<string name="de_lang">German</string>
|
<string name="de_lang">German</string>
|
||||||
<string name="es_lang">Spanish</string>
|
<string name="es_lang">Spanish</string>
|
||||||
<string name="el_lang">Greek</string>
|
<string name="el_lang">Greek</string>
|
||||||
<string name="openapsma_low_summary">목표범위 최소 혈당값</string>
|
|
||||||
<string name="openapsma_high_summary">목표범위 최대 혈당값</string>
|
|
||||||
<string name="openapsma_maxbasal_title">임시기초주입 최대량 [U/hr]</string>
|
<string name="openapsma_maxbasal_title">임시기초주입 최대량 [U/hr]</string>
|
||||||
<string name="openapsma_maxbasal_summary">이 값은 OpenAPS에서 Max Basal(임시기초주입 최대량)로 설정되는 값입니다</string>
|
<string name="openapsma_maxbasal_summary">이 값은 OpenAPS에서 Max Basal(임시기초주입 최대량)로 설정되는 값입니다</string>
|
||||||
<string name="openapsma_maxiob_title">OpenAPS가 주입할수 있는 최대 기초주입 IOB [U]</string>
|
<string name="openapsma_maxiob_title">OpenAPS가 주입할수 있는 최대 기초주입 IOB [U]</string>
|
||||||
|
@ -304,7 +301,6 @@
|
||||||
<string name="objectives_5_gate">평소 먹는 탄수화물 입력하면서 Loop를 실행하고 1주일간 성공적으로 낮시간을 관리한다.</string>
|
<string name="objectives_5_gate">평소 먹는 탄수화물 입력하면서 Loop를 실행하고 1주일간 성공적으로 낮시간을 관리한다.</string>
|
||||||
<string name="objectives_6_objective">AMA(Advanced Meal Assist)같은 주간용을 위한 추가적인 기능들을 실행하여 본다.</string>
|
<string name="objectives_6_objective">AMA(Advanced Meal Assist)같은 주간용을 위한 추가적인 기능들을 실행하여 본다.</string>
|
||||||
<string name="youareonallowedlimit">허용된 제한값에 도달하였습니다</string>
|
<string name="youareonallowedlimit">허용된 제한값에 도달하였습니다</string>
|
||||||
<string name="openapsma_target_bg">계산을 위한 목표 혈당 값</string>
|
|
||||||
<string name="noprofileselected">프로파일이 선택되지 않았습니다</string>
|
<string name="noprofileselected">프로파일이 선택되지 않았습니다</string>
|
||||||
<string name="smscommunicator_loophasbeendisabled">Loop가 중지되었습니다.</string>
|
<string name="smscommunicator_loophasbeendisabled">Loop가 중지되었습니다.</string>
|
||||||
<string name="smscommunicator_loophasbeenenabled">Loop가 실행되었습니다.</string>
|
<string name="smscommunicator_loophasbeenenabled">Loop가 실행되었습니다.</string>
|
||||||
|
|
|
@ -345,19 +345,16 @@
|
||||||
<string name="openapsma_currenttemp_label">текущий врем базал</string>
|
<string name="openapsma_currenttemp_label">текущий врем базал</string>
|
||||||
<string name="openapsma_disabled">модуль не активен</string>
|
<string name="openapsma_disabled">модуль не активен</string>
|
||||||
<string name="openapsma_glucosestatus_label">статус гликемии</string>
|
<string name="openapsma_glucosestatus_label">статус гликемии</string>
|
||||||
<string name="openapsma_high_summary">макс значение СК диапазона</string>
|
|
||||||
<string name="openapsma_inputparameters_label">параметры ввода</string>
|
<string name="openapsma_inputparameters_label">параметры ввода</string>
|
||||||
<string name="openapsma_iobdata_label">данные IOB (активн инс)</string>
|
<string name="openapsma_iobdata_label">данные IOB (активн инс)</string>
|
||||||
<string name="openapsma_lastenact_label">последнее заданное</string>
|
<string name="openapsma_lastenact_label">последнее заданное</string>
|
||||||
<string name="openapsma_lastrun_label">последнее выполненное</string>
|
<string name="openapsma_lastrun_label">последнее выполненное</string>
|
||||||
<string name="openapsma_low_summary">мин значение СК диапазона</string>
|
|
||||||
<string name="openapsma_maxbasal_summary">в контексте OpenAPS называется макс базал</string>
|
<string name="openapsma_maxbasal_summary">в контексте OpenAPS называется макс базал</string>
|
||||||
<string name="openapsma_maxbasal_title">макс разрешенный врем базал Е/ч</string>
|
<string name="openapsma_maxbasal_title">макс разрешенный врем базал Е/ч</string>
|
||||||
<string name="openapsma_maxiob_summary">эта величина называется макс IOB (макс активн инс) в OpenAPS. Значение по умолчанию 0. Через несколько дней или недель пользования величину можно юстировать в зависимости от вашего уровня комфорта.</string>
|
<string name="openapsma_maxiob_summary">эта величина называется макс IOB (макс активн инс) в OpenAPS. Значение по умолчанию 0. Через несколько дней или недель пользования величину можно юстировать в зависимости от вашего уровня комфорта.</string>
|
||||||
<string name="openapsma_maxiob_title">макс базал активн инс подаваемый с OpenAPS (ед)</string>
|
<string name="openapsma_maxiob_title">макс базал активн инс подаваемый с OpenAPS (ед)</string>
|
||||||
<string name="openapsma_mealdata_label">данные приема пищи</string>
|
<string name="openapsma_mealdata_label">данные приема пищи</string>
|
||||||
<string name="openapsma_minbg_label">нижнее целевое значение СК</string>
|
<string name="openapsma_noglucosedata">данные гликемии недоступны</string>
|
||||||
<string name="openapsma_noglucosedata">данные гликемии недоступны</string>
|
|
||||||
<string name="openapsma_noprofile">профиль недоступен</string>
|
<string name="openapsma_noprofile">профиль недоступен</string>
|
||||||
<string name="openapsma_nopump">помпа недоступна</string>
|
<string name="openapsma_nopump">помпа недоступна</string>
|
||||||
<string name="openapsma_profile_label">профиль</string>
|
<string name="openapsma_profile_label">профиль</string>
|
||||||
|
@ -365,7 +362,6 @@
|
||||||
<string name="result">результат</string>
|
<string name="result">результат</string>
|
||||||
<string name="openapsma_run">выполнить сейчас</string>
|
<string name="openapsma_run">выполнить сейчас</string>
|
||||||
<string name="openapsma_scriptdebugdata_label">отладка скрипта</string>
|
<string name="openapsma_scriptdebugdata_label">отладка скрипта</string>
|
||||||
<string name="openapsma_target_bg">целевое значение для расчетов</string>
|
|
||||||
<string name="openapsma_valuelimitedto" formatted="false">%.2f ограничено до %.2f</string>
|
<string name="openapsma_valuelimitedto" formatted="false">%.2f ограничено до %.2f</string>
|
||||||
<string name="openapsma_valueoutofrange" formatted="false">величина %s недопустима</string>
|
<string name="openapsma_valueoutofrange" formatted="false">величина %s недопустима</string>
|
||||||
<string name="openloop">открытый цикл</string>
|
<string name="openloop">открытый цикл</string>
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
<item>@string/it_lang</item>
|
<item>@string/it_lang</item>
|
||||||
<item>@string/ko_lang</item>
|
<item>@string/ko_lang</item>
|
||||||
<item>@string/ru_lang</item>
|
<item>@string/ru_lang</item>
|
||||||
|
<item>@string/sv_lang</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
<string-array name="languagesValues" translatable="false">
|
<string-array name="languagesValues" translatable="false">
|
||||||
<item>en</item>
|
<item>en</item>
|
||||||
|
@ -31,6 +32,7 @@
|
||||||
<item>it</item>
|
<item>it</item>
|
||||||
<item>ko</item>
|
<item>ko</item>
|
||||||
<item>ru</item>
|
<item>ru</item>
|
||||||
|
<item>sv</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
<string-array name="ageArray">
|
<string-array name="ageArray">
|
||||||
|
@ -43,5 +45,4 @@
|
||||||
<item>@string/key_teenage</item>
|
<item>@string/key_teenage</item>
|
||||||
<item>@string/key_adult</item>
|
<item>@string/key_adult</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
|
@ -69,8 +69,7 @@
|
||||||
<string name="openapsma_nopump">No pump available</string>
|
<string name="openapsma_nopump">No pump available</string>
|
||||||
<string name="nochangerequested">No change requested</string>
|
<string name="nochangerequested">No change requested</string>
|
||||||
<string name="openapsma_request_label">Request</string>
|
<string name="openapsma_request_label">Request</string>
|
||||||
<string name="openapsma_minbg_label">Low target</string>
|
<string name="rate">Rate</string>
|
||||||
<string name="rate">Rate</string>
|
|
||||||
<string name="duration">Duration</string>
|
<string name="duration">Duration</string>
|
||||||
<string name="reason">Reason</string>
|
<string name="reason">Reason</string>
|
||||||
<string name="glucose">Glucose</string>
|
<string name="glucose">Glucose</string>
|
||||||
|
@ -209,8 +208,7 @@
|
||||||
<string name="el_lang">Greek</string>
|
<string name="el_lang">Greek</string>
|
||||||
<string name="it_lang">Italian</string>
|
<string name="it_lang">Italian</string>
|
||||||
<string name="ru_lang">Russian</string>
|
<string name="ru_lang">Russian</string>
|
||||||
<string name="openapsma_low_summary">The minimum BG value to be in range.</string>
|
<string name="sv_lang">Swedish</string>
|
||||||
<string name="openapsma_high_summary">The maximum BG value to be in range.</string>
|
|
||||||
<string name="openapsma_maxbasal_title">Max U/hr a Temp Basal can be set to</string>
|
<string name="openapsma_maxbasal_title">Max U/hr a Temp Basal can be set to</string>
|
||||||
<string name="openapsma_maxbasal_summary">This value is called max basal in OpenAPS context</string>
|
<string name="openapsma_maxbasal_summary">This value is called max basal in OpenAPS context</string>
|
||||||
<string name="openapsma_maxiob_title">Maximum basal IOB OpenAPS can deliver [U]</string>
|
<string name="openapsma_maxiob_title">Maximum basal IOB OpenAPS can deliver [U]</string>
|
||||||
|
@ -318,7 +316,6 @@
|
||||||
<string name="objectives_5_gate">1 week successful daytime looping with regular carb entry</string>
|
<string name="objectives_5_gate">1 week successful daytime looping with regular carb entry</string>
|
||||||
<string name="objectives_6_objective">Enabling additional features for daytime use, such as advanced meal assist</string>
|
<string name="objectives_6_objective">Enabling additional features for daytime use, such as advanced meal assist</string>
|
||||||
<string name="youareonallowedlimit">You reached allowed limit</string>
|
<string name="youareonallowedlimit">You reached allowed limit</string>
|
||||||
<string name="openapsma_target_bg">Target value for calculations</string>
|
|
||||||
<string name="noprofileselected">No profile selected</string>
|
<string name="noprofileselected">No profile selected</string>
|
||||||
<string name="smscommunicator_loophasbeendisabled">Loop has been disabled</string>
|
<string name="smscommunicator_loophasbeendisabled">Loop has been disabled</string>
|
||||||
<string name="smscommunicator_loophasbeenenabled">Loop has been enabled</string>
|
<string name="smscommunicator_loophasbeenenabled">Loop has been enabled</string>
|
||||||
|
|
|
@ -3,22 +3,6 @@
|
||||||
<PreferenceCategory
|
<PreferenceCategory
|
||||||
android:key="openaps"
|
android:key="openaps"
|
||||||
android:title="@string/openapsma">
|
android:title="@string/openapsma">
|
||||||
<EditTextPreference
|
|
||||||
android:defaultValue=""
|
|
||||||
android:key="openapsma_min_bg"
|
|
||||||
android:numeric="decimal"
|
|
||||||
android:title="@string/openapsma_low_summary" />
|
|
||||||
<EditTextPreference
|
|
||||||
android:defaultValue=""
|
|
||||||
android:key="openapsma_max_bg"
|
|
||||||
android:numeric="decimal"
|
|
||||||
android:title="@string/openapsma_high_summary" />
|
|
||||||
|
|
||||||
<EditTextPreference
|
|
||||||
android:defaultValue=""
|
|
||||||
android:key="openapsma_target_bg"
|
|
||||||
android:numeric="decimal"
|
|
||||||
android:title="@string/openapsma_target_bg" />
|
|
||||||
|
|
||||||
<EditTextPreference
|
<EditTextPreference
|
||||||
android:defaultValue="1"
|
android:defaultValue="1"
|
||||||
|
|
Loading…
Reference in a new issue