diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/CircadianPercentageProfile/CircadianPercentageProfileFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/CircadianPercentageProfile/CircadianPercentageProfileFragment.java index c2dcf32a74..2a65e77295 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/CircadianPercentageProfile/CircadianPercentageProfileFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/CircadianPercentageProfile/CircadianPercentageProfileFragment.java @@ -31,8 +31,6 @@ public class CircadianPercentageProfileFragment extends Fragment implements Frag EditText diaView; RadioButton mgdlView; RadioButton mmolView; - EditText icView; - EditText isfView; EditText carView; EditText targetlowView; EditText targethighView; @@ -48,8 +46,6 @@ public class CircadianPercentageProfileFragment extends Fragment implements Frag diaView = (EditText) layout.findViewById(R.id.simpleprofile_dia); mgdlView = (RadioButton) layout.findViewById(R.id.simpleprofile_mgdl); mmolView = (RadioButton) layout.findViewById(R.id.simpleprofile_mmol); - icView = (EditText) layout.findViewById(R.id.simpleprofile_ic); - isfView = (EditText) layout.findViewById(R.id.simpleprofile_isf); carView = (EditText) layout.findViewById(R.id.simpleprofile_car); targetlowView = (EditText) layout.findViewById(R.id.simpleprofile_targetlow); targethighView = (EditText) layout.findViewById(R.id.simpleprofile_targethigh); @@ -61,8 +57,6 @@ public class CircadianPercentageProfileFragment extends Fragment implements Frag mgdlView.setChecked(circadianPercentageProfilePlugin.mgdl); mmolView.setChecked(circadianPercentageProfilePlugin.mmol); diaView.setText(circadianPercentageProfilePlugin.dia.toString()); - icView.setText(circadianPercentageProfilePlugin.ic.toString()); - isfView.setText(circadianPercentageProfilePlugin.isf.toString()); carView.setText(circadianPercentageProfilePlugin.car.toString()); targetlowView.setText(circadianPercentageProfilePlugin.targetLow.toString()); targethighView.setText(circadianPercentageProfilePlugin.targetHigh.toString()); @@ -106,8 +100,6 @@ public class CircadianPercentageProfileFragment extends Fragment implements Frag public void onTextChanged(CharSequence s, int start, int before, int count) { circadianPercentageProfilePlugin.dia = SafeParse.stringToDouble(diaView.getText().toString()); - circadianPercentageProfilePlugin.ic = SafeParse.stringToDouble(icView.getText().toString()); - circadianPercentageProfilePlugin.isf = SafeParse.stringToDouble(isfView.getText().toString()); circadianPercentageProfilePlugin.car = SafeParse.stringToDouble(carView.getText().toString()); circadianPercentageProfilePlugin.targetLow = SafeParse.stringToDouble(targetlowView.getText().toString()); circadianPercentageProfilePlugin.targetHigh = SafeParse.stringToDouble(targethighView.getText().toString()); @@ -119,8 +111,6 @@ public class CircadianPercentageProfileFragment extends Fragment implements Frag }; diaView.addTextChangedListener(textWatch); - icView.addTextChangedListener(textWatch); - isfView.addTextChangedListener(textWatch); carView.addTextChangedListener(textWatch); targetlowView.addTextChangedListener(textWatch); targethighView.addTextChangedListener(textWatch); @@ -131,9 +121,15 @@ public class CircadianPercentageProfileFragment extends Fragment implements Frag } private void updateProfileInfo() { - profileView.setText("Basal: " + circadianPercentageProfilePlugin.basalString()); - profileView.append("\n\n"); - profileView.append("Base-Basal: " + circadianPercentageProfilePlugin.baseBasalString()); + profileView.setText("Active Profile:\n"); + profileView.append("Basal: " + circadianPercentageProfilePlugin.basalString() + "\n"); + profileView.append("IC: " + circadianPercentageProfilePlugin.icString() + "\n"); + profileView.append("ISF: " + circadianPercentageProfilePlugin.isfString() + "\n"); + profileView.append("\n"); + profileView.append("Base Profile:\n"); + profileView.append("Basal: " + circadianPercentageProfilePlugin.baseBasalString() + "\n"); + profileView.append("IC: " + circadianPercentageProfilePlugin.baseIcString() + "\n"); + profileView.append("ISF: " + circadianPercentageProfilePlugin.baseIsfString() + "\n"); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/CircadianPercentageProfile/CircadianPercentageProfilePlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/CircadianPercentageProfile/CircadianPercentageProfilePlugin.java index 6f72706ada..830b4a0360 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/CircadianPercentageProfile/CircadianPercentageProfilePlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/CircadianPercentageProfile/CircadianPercentageProfilePlugin.java @@ -35,14 +35,14 @@ public class CircadianPercentageProfilePlugin implements PluginBase, ProfileInte boolean mgdl; boolean mmol; Double dia; - Double ic; - Double isf; Double car; Double targetLow; Double targetHigh; int percentage; int timeshift; double[] basebasal = new double[]{1d, 1d, 1d, 1d, 1d, 1d, 1d, 1d, 1d, 1d, 1d, 1d, 1d, 1d, 1d, 1d, 1d, 1d, 1d, 1d, 1d, 1d, 1d, 1d}; + double[] baseisf = new double[]{35d, 35d, 35d, 35.1d, 35d, 35d, 35d, 35d, 35d, 35d, 35d, 35d, 35d, 35d, 35d, 35d, 35d, 35d, 35d, 35d, 35d, 35d, 35d, 35d}; + double[] baseic = new double[]{4d, 4d, 4d, 4d, 4.1d, 4d, 4d, 4d, 4d, 4d, 4d, 4d, 4d, 4d, 4d, 4d, 4d, 4d, 4d, 4d, 4d, 4d, 4d, 4d}; public CircadianPercentageProfilePlugin() { loadSettings(); @@ -98,8 +98,6 @@ public class CircadianPercentageProfilePlugin implements PluginBase, ProfileInte editor.putBoolean(SETTINGS_PREFIX + "mmol", mmol); editor.putBoolean(SETTINGS_PREFIX + "mgdl", mgdl); editor.putString(SETTINGS_PREFIX + "dia", dia.toString()); - editor.putString(SETTINGS_PREFIX + "ic", ic.toString()); - editor.putString(SETTINGS_PREFIX + "isf", isf.toString()); editor.putString(SETTINGS_PREFIX + "car", car.toString()); editor.putString(SETTINGS_PREFIX + "targetlow", targetLow.toString()); editor.putString(SETTINGS_PREFIX + "targethigh", targetHigh.toString()); @@ -109,6 +107,8 @@ public class CircadianPercentageProfilePlugin implements PluginBase, ProfileInte for (int i = 0; i<24; i++) { editor.putString(SETTINGS_PREFIX + "basebasal" + i, DecimalFormatter.to2Decimal(basebasal[i])); + editor.putString(SETTINGS_PREFIX + "baseisf" + i, DecimalFormatter.to2Decimal(baseisf[i])); + editor.putString(SETTINGS_PREFIX + "baseic" + i, DecimalFormatter.to2Decimal(baseic[i])); } editor.commit(); createConvertedProfile(); @@ -140,20 +140,6 @@ public class CircadianPercentageProfilePlugin implements PluginBase, ProfileInte log.debug(e.getMessage()); } else dia = 3d; - if (settings.contains(SETTINGS_PREFIX + "ic")) - try { - ic = SafeParse.stringToDouble(settings.getString(SETTINGS_PREFIX + "ic", "20")); - } catch (Exception e) { - log.debug(e.getMessage()); - } - else ic = 20d; - if (settings.contains(SETTINGS_PREFIX + "isf")) - try { - isf = SafeParse.stringToDouble(settings.getString(SETTINGS_PREFIX + "isf", "200")); - } catch (Exception e) { - log.debug(e.getMessage()); - } - else isf = 200d; if (settings.contains(SETTINGS_PREFIX + "car")) try { car = SafeParse.stringToDouble(settings.getString(SETTINGS_PREFIX + "car", "20")); @@ -197,6 +183,16 @@ public class CircadianPercentageProfilePlugin implements PluginBase, ProfileInte } catch (Exception e) { log.debug(e.getMessage()); } + try { + baseic[i] = SafeParse.stringToDouble(settings.getString(SETTINGS_PREFIX + "baseic" + i, DecimalFormatter.to2Decimal(baseic[i]))); + } catch (Exception e) { + log.debug(e.getMessage()); + } + try { + baseisf[i] = SafeParse.stringToDouble(settings.getString(SETTINGS_PREFIX + "baseisf" + i, DecimalFormatter.to2Decimal(baseisf[i]))); + } catch (Exception e) { + log.debug(e.getMessage()); + } } @@ -211,16 +207,25 @@ public class CircadianPercentageProfilePlugin implements PluginBase, ProfileInte json.put("defaultProfile", "CircadianPercentage"); json.put("store", store); profile.put("dia", dia); - profile.put("carbratio", new JSONArray().put(new JSONObject().put("timeAsSeconds", 0).put("value", ic))); + + JSONArray icArray = new JSONArray(); + for (int i = 0; i<24; i++){ + icArray.put(new JSONObject().put("timeAsSeconds", ((i+timeshift)%24)*60*60).put("value", baseic[i]*percentage/100d)); + } + profile.put("carbratio", icArray); + profile.put("carbs_hr", car); - profile.put("sens", new JSONArray().put(new JSONObject().put("timeAsSeconds", 0).put("value", isf))); + + JSONArray isfArray = new JSONArray(); + for (int i = 0; i<24; i++){ + isfArray.put(new JSONObject().put("timeAsSeconds", ((i+timeshift)%24)*60*60).put("value", baseisf[i]*percentage/100d)); + } + profile.put("sens", isfArray); JSONArray basalArray = new JSONArray(); - for (int i = 0; i<24; i++){ basalArray.put(new JSONObject().put("timeAsSeconds", ((i+timeshift)%24)*60*60).put("value", basebasal[i]*percentage/100d)); } - profile.put("basal", basalArray); @@ -239,11 +244,27 @@ public class CircadianPercentageProfilePlugin implements PluginBase, ProfileInte return convertedProfile; } - public String basalString(){ + public String basalString() { return profileString(basebasal, timeshift, percentage); } - public String baseBasalString(){ + public String icString() { + return profileString(baseic, timeshift, percentage); + } + + public String isfString() { + return profileString(baseisf, timeshift, percentage); + } + + public String baseIcString() { + return profileString(baseic, 0, 100); + } + + public String baseIsfString() { + return profileString(baseisf, 0, 100); + } + + public String baseBasalString() { return profileString(basebasal, 0, 100); } diff --git a/app/src/main/res/layout/circadianpercentageprofile_fragment.xml b/app/src/main/res/layout/circadianpercentageprofile_fragment.xml index 25b05eff85..f0331c5423 100644 --- a/app/src/main/res/layout/circadianpercentageprofile_fragment.xml +++ b/app/src/main/res/layout/circadianpercentageprofile_fragment.xml @@ -70,42 +70,6 @@ android:inputType="numberDecimal" /> - - - - - - - - - - - - - -