From 99c8bbc6c25c5e809b2a5691638ac864f89eaa49 Mon Sep 17 00:00:00 2001 From: "Markus M. May" Date: Mon, 9 Apr 2018 22:10:08 +0200 Subject: [PATCH] Adding notes to carbs and to wizard on overview --- .../androidaps/data/DetailedBolusInfo.java | 2 ++ .../Overview/Dialogs/NewCarbsDialog.java | 7 +++++ .../Overview/Dialogs/WizardDialog.java | 7 +++++ .../java/info/nightscout/utils/NSUpload.java | 4 +++ .../res/layout/overview_newcarbs_dialog.xml | 25 ++++++++++++++++++ .../res/layout/overview_wizard_dialog.xml | 26 +++++++++++++++++++ 6 files changed, 71 insertions(+) diff --git a/app/src/main/java/info/nightscout/androidaps/data/DetailedBolusInfo.java b/app/src/main/java/info/nightscout/androidaps/data/DetailedBolusInfo.java index 3935b17b8a..c2f9d16dc3 100644 --- a/app/src/main/java/info/nightscout/androidaps/data/DetailedBolusInfo.java +++ b/app/src/main/java/info/nightscout/androidaps/data/DetailedBolusInfo.java @@ -30,6 +30,7 @@ public class DetailedBolusInfo { 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 public long deliverAt = 0; // SMB should be delivered within 1 min from this time + public String notes = null; public DetailedBolusInfo copy() { DetailedBolusInfo n = new DetailedBolusInfo(); @@ -47,6 +48,7 @@ public class DetailedBolusInfo { n.pumpId = pumpId; n.isSMB = isSMB; n.deliverAt = deliverAt; + n.notes = notes; return n; } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewCarbsDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewCarbsDialog.java index 19119450df..c1ae798aa6 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewCarbsDialog.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewCarbsDialog.java @@ -18,6 +18,7 @@ import android.view.Window; import android.view.WindowManager; import android.widget.Button; import android.widget.CompoundButton; +import android.widget.EditText; import android.widget.RadioButton; import android.widget.TextView; @@ -69,6 +70,8 @@ public class NewCarbsDialog extends DialogFragment implements OnClickListener, D private Button fav2Button; private Button fav3Button; + private EditText notesEdit; + private static final int FAV1_DEFAULT = 5; private static final int FAV2_DEFAULT = 10; private static final int FAV3_DEFAULT = 20; @@ -157,6 +160,8 @@ public class NewCarbsDialog extends DialogFragment implements OnClickListener, D fav3Button.setOnClickListener(this); fav3Button.setText(toSignedString(SP.getInt(R.string.key_carbs_button_increment_3, FAV3_DEFAULT))); + notesEdit = (EditText) view.findViewById(R.id.newcarbs_notes); + setCancelable(true); getDialog().setCanceledOnTouchOutside(false); return view; @@ -358,6 +363,7 @@ public class NewCarbsDialog extends DialogFragment implements OnClickListener, D final int finalEatingSoonTTDuration = eatingSoonTTDuration; final double finalHypoTT = hypoTT; final int finalHypoTTDuration = hypoTTDuration; + final String finalNotes = notesEdit.getText().toString(); if (!initialEventTime.equals(eventTime)) { actions.add("Time: " + DateUtil.dateAndTimeString(eventTime)); @@ -416,6 +422,7 @@ public class NewCarbsDialog extends DialogFragment implements OnClickListener, D detailedBolusInfo.carbs = finalCarbsAfterConstraints; detailedBolusInfo.context = context; detailedBolusInfo.source = Source.USER; + detailedBolusInfo.notes = finalNotes; if (ConfigBuilderPlugin.getActivePump().getPumpDescription().storesCarbInfo) { ConfigBuilderPlugin.getCommandQueue().bolus(detailedBolusInfo, new Callback() { @Override diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/WizardDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/WizardDialog.java index f44e570774..7f8f16120e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/WizardDialog.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/WizardDialog.java @@ -21,6 +21,7 @@ import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.CheckBox; import android.widget.CompoundButton; +import android.widget.EditText; import android.widget.LinearLayout; import android.widget.Spinner; import android.widget.TextView; @@ -103,6 +104,8 @@ public class WizardDialog extends DialogFragment implements OnClickListener, Com NumberPicker editCorr; NumberPicker editCarbTime; + EditText notesEdit; + Integer calculatedCarbs = 0; Double calculatedTotalInsulin = 0d; JSONObject boluscalcJSON; @@ -205,6 +208,8 @@ public class WizardDialog extends DialogFragment implements OnClickListener, Com superbolus = (TextView) view.findViewById(R.id.treatments_wizard_sb); superbolusInsulin = (TextView) view.findViewById(R.id.treatments_wizard_sbinsulin); + notesEdit = (EditText) view.findViewById(R.id.newcarbs_notes); + bgTrend = (TextView) view.findViewById(R.id.treatments_wizard_bgtrend); bgTrendInsulin = (TextView) view.findViewById(R.id.treatments_wizard_bgtrendinsulin); cobLayout = (LinearLayout) view.findViewById(R.id.treatments_wizard_cob_layout); @@ -320,6 +325,7 @@ public class WizardDialog extends DialogFragment implements OnClickListener, Com final Double bg = SafeParse.stringToDouble(editBg.getText()); final int carbTime = SafeParse.stringToInt(editCarbTime.getText()); final boolean useSuperBolus = superbolusCheckbox.isChecked(); + final String finalNotes = notesEdit.getText().toString(); final AlertDialog.Builder builder = new AlertDialog.Builder(context); builder.setTitle(MainApp.sResources.getString(R.string.confirmation)); @@ -363,6 +369,7 @@ public class WizardDialog extends DialogFragment implements OnClickListener, Com detailedBolusInfo.carbTime = carbTime; detailedBolusInfo.boluscalc = boluscalcJSON; detailedBolusInfo.source = Source.USER; + detailedBolusInfo.notes = finalNotes; if (detailedBolusInfo.insulin > 0 || ConfigBuilderPlugin.getActivePump().getPumpDescription().storesCarbInfo) { ConfigBuilderPlugin.getCommandQueue().bolus(detailedBolusInfo, new Callback() { @Override diff --git a/app/src/main/java/info/nightscout/utils/NSUpload.java b/app/src/main/java/info/nightscout/utils/NSUpload.java index 9b9b940ef9..1e24083ac2 100644 --- a/app/src/main/java/info/nightscout/utils/NSUpload.java +++ b/app/src/main/java/info/nightscout/utils/NSUpload.java @@ -8,6 +8,7 @@ import android.os.Build; import android.os.Bundle; import android.preference.PreferenceManager; +import org.apache.commons.lang3.StringUtils; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; @@ -275,6 +276,9 @@ public class NSUpload { data.put("boluscalc", detailedBolusInfo.boluscalc); if (detailedBolusInfo.carbTime != 0) data.put("preBolus", detailedBolusInfo.carbTime); + if (!StringUtils.isEmpty(detailedBolusInfo.notes)) { + data.put("notes", detailedBolusInfo.notes); + } } catch (JSONException e) { log.error("Unhandled exception", e); } diff --git a/app/src/main/res/layout/overview_newcarbs_dialog.xml b/app/src/main/res/layout/overview_newcarbs_dialog.xml index 25ca0d75d2..e75bf54dff 100644 --- a/app/src/main/res/layout/overview_newcarbs_dialog.xml +++ b/app/src/main/res/layout/overview_newcarbs_dialog.xml @@ -122,9 +122,34 @@ + + + + + + + + + diff --git a/app/src/main/res/layout/overview_wizard_dialog.xml b/app/src/main/res/layout/overview_wizard_dialog.xml index 4fbdfd3614..d4609c931e 100644 --- a/app/src/main/res/layout/overview_wizard_dialog.xml +++ b/app/src/main/res/layout/overview_wizard_dialog.xml @@ -199,6 +199,32 @@ + + + + + + + +