Merge pull request #895 from triplem/mgdl_mmol_handling
Cleanup mmol/mgdl TT handling in Dialogs
This commit is contained in:
commit
4f4f92ff76
|
@ -51,6 +51,7 @@ import info.nightscout.androidaps.db.TempTarget;
|
|||
import info.nightscout.androidaps.plugins.Careportal.OptionsToShow;
|
||||
import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin;
|
||||
import info.nightscout.utils.DateUtil;
|
||||
import info.nightscout.utils.DefaultValueHelper;
|
||||
import info.nightscout.utils.FabricPrivacy;
|
||||
import info.nightscout.utils.HardLimits;
|
||||
import info.nightscout.utils.JsonHelper;
|
||||
|
@ -210,19 +211,22 @@ public class NewNSTreatmentDialog extends DialogFragment implements View.OnClick
|
|||
}
|
||||
boolean erase = false;
|
||||
|
||||
String units = MainApp.getConfigBuilder().getProfileUnits();
|
||||
DefaultValueHelper helper = new DefaultValueHelper();
|
||||
if (MainApp.gs(R.string.eatingsoon).equals(reasonList.get(position))) {
|
||||
defaultDuration = SP.getDouble(R.string.key_eatingsoon_duration, 0d);
|
||||
defaultTarget = SP.getDouble(R.string.key_eatingsoon_target, 0d);
|
||||
defaultDuration = helper.determineEatingSoonTTDuration();
|
||||
defaultTarget = helper.determineEatingSoonTT(units);
|
||||
} else if (MainApp.gs(R.string.activity).equals(reasonList.get(position))) {
|
||||
defaultDuration = SP.getDouble(R.string.key_activity_duration, 0d);
|
||||
defaultTarget = SP.getDouble(R.string.key_activity_target, 0d);
|
||||
defaultDuration = helper.determineActivityTTDuration();
|
||||
defaultTarget = helper.determineActivityTT(units);
|
||||
} else if (MainApp.gs(R.string.hypo).equals(reasonList.get(position))) {
|
||||
defaultDuration = SP.getDouble(R.string.key_hypo_duration, 0d);
|
||||
defaultTarget = SP.getDouble(R.string.key_hypo_target, 0d);
|
||||
defaultDuration = helper.determineHypoTTDuration();
|
||||
defaultTarget = helper.determineHypoTT(units);
|
||||
} else {
|
||||
defaultDuration = 0;
|
||||
erase = true;
|
||||
}
|
||||
|
||||
if (defaultTarget != 0 || erase) {
|
||||
editTemptarget.setValue(defaultTarget);
|
||||
}
|
||||
|
|
|
@ -44,6 +44,7 @@ import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin;
|
|||
import info.nightscout.androidaps.queue.Callback;
|
||||
import info.nightscout.utils.DateUtil;
|
||||
import info.nightscout.utils.DecimalFormatter;
|
||||
import info.nightscout.utils.DefaultValueHelper;
|
||||
import info.nightscout.utils.NumberPicker;
|
||||
import info.nightscout.utils.SP;
|
||||
import info.nightscout.utils.ToastUtils;
|
||||
|
@ -290,28 +291,27 @@ public class NewCarbsDialog extends DialogFragment implements OnClickListener, C
|
|||
int carbs = editCarbs.getValue().intValue();
|
||||
Integer carbsAfterConstraints = MainApp.getConstraintChecker().applyCarbsConstraints(new Constraint<>(carbs)).value();
|
||||
|
||||
int activityTTDuration = SP.getInt(R.string.key_activity_duration, Constants.defaultActivityTTDuration);
|
||||
activityTTDuration = activityTTDuration > 0 ? activityTTDuration : Constants.defaultActivityTTDuration;
|
||||
double activityTT = SP.getDouble(R.string.key_activity_target, currentProfile.getUnits().equals(Constants.MMOL) ? Constants.defaultActivityTTmmol : Constants.defaultActivityTTmgdl);
|
||||
activityTT = activityTT > 0 ? activityTT : currentProfile.getUnits().equals(Constants.MMOL) ? Constants.defaultActivityTTmmol : Constants.defaultActivityTTmgdl;
|
||||
final String units = currentProfile.getUnits();
|
||||
DefaultValueHelper helper = new DefaultValueHelper();
|
||||
|
||||
int eatingSoonTTDuration = SP.getInt(R.string.key_eatingsoon_duration, Constants.defaultEatingSoonTTDuration);
|
||||
eatingSoonTTDuration = eatingSoonTTDuration > 0 ? eatingSoonTTDuration : Constants.defaultEatingSoonTTDuration;
|
||||
double eatingSoonTT = SP.getDouble(R.string.key_eatingsoon_target, currentProfile.getUnits().equals(Constants.MMOL) ? Constants.defaultEatingSoonTTmmol : Constants.defaultEatingSoonTTmgdl);
|
||||
eatingSoonTT = eatingSoonTT > 0 ? eatingSoonTT : currentProfile.getUnits().equals(Constants.MMOL) ? Constants.defaultEatingSoonTTmmol : Constants.defaultEatingSoonTTmgdl;
|
||||
int activityTTDuration = helper.determineActivityTTDuration();
|
||||
double activityTT = helper.determineActivityTT(units);
|
||||
|
||||
int hypoTTDuration = SP.getInt(R.string.key_hypo_duration, Constants.defaultHypoTTDuration);
|
||||
hypoTTDuration = hypoTTDuration > 0 ? hypoTTDuration : Constants.defaultHypoTTDuration;
|
||||
double hypoTT = SP.getDouble(R.string.key_hypo_target, currentProfile.getUnits().equals(Constants.MMOL) ? Constants.defaultHypoTTmmol : Constants.defaultHypoTTmgdl);
|
||||
hypoTT = hypoTT > 0 ? hypoTT : currentProfile.getUnits().equals(Constants.MMOL) ? Constants.defaultHypoTTmmol : Constants.defaultHypoTTmgdl;
|
||||
int eatingSoonTTDuration = helper.determineEatingSoonTTDuration();
|
||||
double eatingSoonTT = helper.determineEatingSoonTT(units);
|
||||
|
||||
int hypoTTDuration = helper.determineHypoTTDuration();
|
||||
double hypoTT = helper.determineHypoTT(units);
|
||||
|
||||
List<String> actions = new LinkedList<>();
|
||||
|
||||
if (startActivityTTCheckbox.isChecked()) {
|
||||
String unitLabel = "mg/dl";
|
||||
if (currentProfile.getUnits().equals(Constants.MMOL)) {
|
||||
actions.add(MainApp.gs(R.string.temptargetshort) + ": " + "<font color='" + MainApp.gc(R.color.high) + "'>" + DecimalFormatter.to1Decimal(activityTT) + " mmol/l (" + activityTTDuration + " min)</font>");
|
||||
} else
|
||||
actions.add(MainApp.gs(R.string.temptargetshort) + ": " + "<font color='" + MainApp.gc(R.color.high) + "'>" + DecimalFormatter.to0Decimal(activityTT) + " mg/dl (" + activityTTDuration + " min)</font>");
|
||||
unitLabel = "mmol/l";
|
||||
}
|
||||
|
||||
actions.add(MainApp.gs(R.string.temptargetshort) + ": " + "<font color='" + MainApp.gc(R.color.high) + "'>" + DecimalFormatter.to1Decimal(activityTT) + " " + unitLabel + " (" + activityTTDuration + " min)</font>");
|
||||
|
||||
}
|
||||
if (startEatingSoonTTCheckbox.isChecked()) {
|
||||
|
|
|
@ -0,0 +1,90 @@
|
|||
package info.nightscout.utils;
|
||||
|
||||
import info.nightscout.androidaps.Constants;
|
||||
import info.nightscout.androidaps.R;
|
||||
|
||||
public class DefaultValueHelper {
|
||||
|
||||
/**
|
||||
* returns the corresponding EatingSoon TempTarget based on the given units (MMOL / MGDL)
|
||||
*
|
||||
* @param units
|
||||
* @return
|
||||
*/
|
||||
public double getDefaultEatingSoonTT(String units) {
|
||||
return Constants.MMOL.equals(units) ? Constants.defaultEatingSoonTTmmol
|
||||
: Constants.defaultEatingSoonTTmgdl;
|
||||
}
|
||||
|
||||
/**
|
||||
* returns the corresponding Activity TempTarget based on the given units (MMOL / MGDL)
|
||||
*
|
||||
* @param units
|
||||
* @return
|
||||
*/
|
||||
public double getDefaultActivityTT(String units) {
|
||||
return Constants.MMOL.equals(units) ? Constants.defaultActivityTTmmol
|
||||
: Constants.defaultActivityTTmgdl;
|
||||
}
|
||||
|
||||
/**
|
||||
* returns the corresponding Hypo TempTarget based on the given units (MMOL / MGDL)
|
||||
*
|
||||
* @param units
|
||||
* @return
|
||||
*/
|
||||
public double getDefaultHypoTT(String units) {
|
||||
return Constants.MMOL.equals(units) ? Constants.defaultHypoTTmmol
|
||||
: Constants.defaultHypoTTmgdl;
|
||||
}
|
||||
|
||||
/**
|
||||
* returns the configured EatingSoon TempTarget, if this is set to 0, the Default-Value is returned.
|
||||
*
|
||||
* @param units
|
||||
* @return
|
||||
*/
|
||||
public double determineEatingSoonTT(String units) {
|
||||
double value = SP.getDouble(R.string.key_eatingsoon_target, this.getDefaultEatingSoonTT(units));
|
||||
return value > 0 ? value : this.getDefaultEatingSoonTT(units);
|
||||
}
|
||||
|
||||
public int determineEatingSoonTTDuration() {
|
||||
int value = SP.getInt(R.string.key_eatingsoon_duration, Constants.defaultEatingSoonTTDuration);
|
||||
return value > 0 ? value : Constants.defaultEatingSoonTTDuration;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* returns the configured Activity TempTarget, if this is set to 0, the Default-Value is returned.
|
||||
*
|
||||
* @param units
|
||||
* @return
|
||||
*/
|
||||
public double determineActivityTT(String units) {
|
||||
double value = SP.getDouble(R.string.key_activity_target, this.getDefaultActivityTT(units));
|
||||
return value > 0 ? value : this.getDefaultActivityTT(units);
|
||||
}
|
||||
|
||||
public int determineActivityTTDuration() {
|
||||
int value = SP.getInt(R.string.key_activity_duration, Constants.defaultActivityTTDuration);
|
||||
return value > 0 ? value : Constants.defaultActivityTTDuration;
|
||||
}
|
||||
|
||||
/**
|
||||
* returns the configured Hypo TempTarget, if this is set to 0, the Default-Value is returned.
|
||||
*
|
||||
* @param units
|
||||
* @return
|
||||
*/
|
||||
public double determineHypoTT(String units) {
|
||||
double value = SP.getDouble(R.string.key_hypo_target, this.getDefaultHypoTT(units));
|
||||
return value > 0 ? value : this.getDefaultHypoTT(units);
|
||||
}
|
||||
|
||||
public int determineHypoTTDuration() {
|
||||
int value = SP.getInt(R.string.key_hypo_duration, Constants.defaultHypoTTDuration);
|
||||
return value > 0 ? value : Constants.defaultHypoTTDuration;
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in a new issue