AS value in %

This commit is contained in:
Roumen Georgiev 2019-05-15 14:52:17 +03:00
parent e220a42e4b
commit 5d86ca742a
3 changed files with 29 additions and 24 deletions

View file

@ -10,19 +10,18 @@ import info.nightscout.androidaps.utils.NumberPicker;
import info.nightscout.androidaps.utils.SP;
public class InputAutosens extends Element {
private double value;
double minValue = SP.getDouble("key_openapsama_autosens_min", 0.7d);
double maxValue = SP.getDouble("key_openapsama_autosens_max", 1.2d);
private double step = 0.01d;
private DecimalFormat decimalFormat = new DecimalFormat("0.00");;
private int value;
int minValue = (int) (SP.getDouble("openapsama_autosens_min", 0.7d) * 100);
int maxValue = (int) (SP.getDouble("openapsama_autosens_max", 1.2d) * 100);
private double step = 1;
private DecimalFormat decimalFormat = new DecimalFormat("1");;
NumberPicker numberPicker;
final TextWatcher textWatcher = new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {
value = Math.max(value, 0.7d);
value = Math.min(value, 2d);
value = Math.max(value, 70);
value = Math.min(value, 200);
}
@Override
@ -43,9 +42,9 @@ public class InputAutosens extends Element {
public InputAutosens(double value, double minValue, double maxValue, double step, DecimalFormat decimalFormat) {
super();
this.value = value;
this.minValue = minValue;
this.maxValue = maxValue;
this.value = (int) value;
this.minValue = (int) ( minValue * 100 );
this.maxValue = (int) (maxValue * 100 );
this.step = step;
this.decimalFormat = decimalFormat;
}
@ -62,26 +61,32 @@ public class InputAutosens extends Element {
@Override
public void addToLayout(LinearLayout root) {
minValue = (int) (SP.getDouble("openapsama_autosens_min", 0.7d) * 100);
maxValue = (int) (SP.getDouble("openapsama_autosens_max", 1.2d) * 100);
if (value > maxValue)
value = Math.max(value, this.maxValue);
if (value < minValue)
value = minValue;
numberPicker = new NumberPicker(root.getContext(), null);
numberPicker.setParams(value, minValue, maxValue, step, decimalFormat, true, textWatcher);
numberPicker.setOnValueChangedListener(value -> this.value = value);
numberPicker.setParams((double) value, (double) minValue, (double) maxValue, step, decimalFormat, true, textWatcher);
numberPicker.setOnValueChangedListener(value -> this.value = (int) value);
root.addView(numberPicker);
}
public InputAutosens setValue(double value) {
minValue = SP.getDouble("key_openapsama_autosens_min", 0.7d);
maxValue = SP.getDouble("key_openapsama_autosens_max", 1.2d);
public InputAutosens setValue(int value) {
minValue = (int) (SP.getDouble("openapsama_autosens_min", 0.7d) * 100);
maxValue = (int) (SP.getDouble("openapsama_autosens_max", 1.2d) * 100);
if (value > maxValue)
value = Math.max(value, this.maxValue);
if (value < minValue)
value = minValue;
this.value = value;
if (numberPicker != null)
numberPicker.setValue(value);
numberPicker.setValue((double) value);
return this;
}
public double getValue() {
public int getValue() {
return value;
}

View file

@ -41,7 +41,7 @@ public class TriggerAutosensValue extends Trigger {
lastRun = triggerAutosensValue.lastRun;
}
public double getValue() {
public int getValue() {
return value.getValue();
}
@ -64,7 +64,7 @@ public class TriggerAutosensValue extends Trigger {
return true;
}
boolean doRun = comparator.getValue().check((autosensData.autosensResult.ratio), getValue());
boolean doRun = comparator.getValue().check((autosensData.autosensResult.ratio), (double) (getValue() / 100d));
if (doRun) {
if (L.isEnabled(L.AUTOMATION))
log.debug("Ready for execution: " + friendlyDescription());
@ -93,7 +93,7 @@ public class TriggerAutosensValue extends Trigger {
Trigger fromJSON(String data) {
try {
JSONObject d = new JSONObject(data);
value.setValue(JsonHelper.safeGetDouble(d, "value"));
value.setValue(JsonHelper.safeGetInt(d, "value"));
lastRun = JsonHelper.safeGetLong(d, "lastRun");
comparator.setValue(Comparator.Compare.valueOf(JsonHelper.safeGetString(d, "comparator")));
} catch (Exception e) {
@ -122,7 +122,7 @@ public class TriggerAutosensValue extends Trigger {
return new TriggerAutosensValue(this);
}
TriggerAutosensValue setValue(double requestedValue) {
TriggerAutosensValue setValue(int requestedValue) {
this.value.setValue(requestedValue);
return this;
}

View file

@ -1400,8 +1400,8 @@
<string name="notexists">not exists</string>
<string name="temptargetcompared">Temp target %1$s</string>
<string name="wifissidcompared">WiFi SSID %1$s %2$s</string>
<string name="autosenscompared">Autosens %1$s %2$s</string>
<string name="autosenslabel">Autosens ratio</string>
<string name="autosenscompared">Autosens %1$s %2$s %%</string>
<string name="autosenslabel">Autosens %</string>
<string name="currentlocation">Current Location</string>
<string name="location">Location</string>
<string name="latitude_short">Lat:</string>