From 1410b2e706719a738c8505457d0c6ed4affada21 Mon Sep 17 00:00:00 2001 From: AdrianLxM Date: Tue, 10 Oct 2017 20:32:43 +0200 Subject: [PATCH 01/17] wear cpp -> general profile --- .../plugins/Wear/ActionStringHandler.java | 75 ++++++++++++------- 1 file changed, 47 insertions(+), 28 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Wear/ActionStringHandler.java b/app/src/main/java/info/nightscout/androidaps/plugins/Wear/ActionStringHandler.java index 07d41a0d8a..625d902c17 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Wear/ActionStringHandler.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Wear/ActionStringHandler.java @@ -23,13 +23,16 @@ import info.nightscout.androidaps.data.PumpEnactResult; import info.nightscout.androidaps.db.BgReading; import info.nightscout.androidaps.db.DanaRHistoryRecord; import info.nightscout.androidaps.db.DatabaseHelper; +import info.nightscout.androidaps.db.ProfileSwitch; import info.nightscout.androidaps.db.Source; import info.nightscout.androidaps.db.TempTarget; import info.nightscout.androidaps.interfaces.APSInterface; import info.nightscout.androidaps.interfaces.DanaRInterface; import info.nightscout.androidaps.interfaces.PluginBase; +import info.nightscout.androidaps.interfaces.ProfileInterface; import info.nightscout.androidaps.interfaces.PumpInterface; import info.nightscout.androidaps.plugins.Actions.dialogs.FillDialog; +import info.nightscout.androidaps.plugins.Careportal.Dialogs.NewNSTreatmentDialog; import info.nightscout.androidaps.plugins.Loop.APSResult; import info.nightscout.androidaps.plugins.Loop.LoopPlugin; import info.nightscout.androidaps.data.Profile; @@ -242,25 +245,21 @@ public class ActionStringHandler { lastBolusWizard = bolusWizard; } else if("opencpp".equals(act[0])){ - Object activeProfile = MainApp.getConfigBuilder().getActiveProfileInterface(); - CircadianPercentageProfilePlugin cpp = MainApp.getSpecificPlugin(CircadianPercentageProfilePlugin.class); - - if(cpp == null || activeProfile==null || cpp != activeProfile){ - sendError("CPP not activated!"); + ProfileSwitch activeProfileSwitch = MainApp.getConfigBuilder().getProfileSwitchFromHistory(System.currentTimeMillis()); + if(activeProfileSwitch==null){ + sendError("No active profile switch!"); return; } else { // read CPP values rTitle = "opencpp"; rMessage = "opencpp"; - rAction = "opencpp" + " " + cpp.getPercentage() + " " + cpp.getTimeshift(); + rAction = "opencpp" + " " + activeProfileSwitch.percentage + " " + activeProfileSwitch.timeshift; } } else if("cppset".equals(act[0])){ - Object activeProfile = MainApp.getConfigBuilder().getActiveProfileInterface(); - CircadianPercentageProfilePlugin cpp = MainApp.getSpecificPlugin(CircadianPercentageProfilePlugin.class); - - if(cpp == null || activeProfile==null || cpp != activeProfile){ - sendError("CPP not activated!"); + ProfileSwitch activeProfileSwitch = MainApp.getConfigBuilder().getProfileSwitchFromHistory(System.currentTimeMillis()); + if(activeProfileSwitch==null){ + sendError("No active profile switch!"); return; } else { // read CPP values @@ -334,13 +333,16 @@ public class ActionStringHandler { private static String generateTDDMessage(List historyList, List dummies) { + ProfileInterface activeProfile = MainApp.getConfigBuilder().getActiveProfileInterface(); + + if(activeProfile == null){ + return "No profile loaded :("; + } + DateFormat df = new SimpleDateFormat("dd.MM."); String message = ""; - CircadianPercentageProfilePlugin cpp = MainApp.getSpecificPlugin(CircadianPercentageProfilePlugin.class); - boolean isCPP = (cpp!= null && cpp.isEnabled(PluginBase.PROFILE)); - double refTDD = 100; - if(isCPP) refTDD = cpp.baseBasalSum()*2; + double refTDD = activeProfile.getProfile().getDefaultProfile().baseBasalSum()*2; int i = 0; double sum = 0d; @@ -364,15 +366,15 @@ public class ActionStringHandler { i++; } message += "weighted:\n"; - message += "0.3: " + DecimalFormatter.to2Decimal(weighted03) + "U " + (isCPP?(DecimalFormatter.to0Decimal(100*weighted03/refTDD) + "%"):"") + "\n"; - message += "0.5: " + DecimalFormatter.to2Decimal(weighted05) + "U " + (isCPP?(DecimalFormatter.to0Decimal(100*weighted05/refTDD) + "%"):"") + "\n"; - message += "0.7: " + DecimalFormatter.to2Decimal(weighted07) + "U " + (isCPP?(DecimalFormatter.to0Decimal(100*weighted07/refTDD) + "%"):"") + "\n"; + message += "0.3: " + DecimalFormatter.to2Decimal(weighted03) + "U " + (DecimalFormatter.to0Decimal(100*weighted03/refTDD) + "%") + "\n"; + message += "0.5: " + DecimalFormatter.to2Decimal(weighted05) + "U " + (DecimalFormatter.to0Decimal(100*weighted05/refTDD) + "%") + "\n"; + message += "0.7: " + DecimalFormatter.to2Decimal(weighted07) + "U " + (DecimalFormatter.to0Decimal(100*weighted07/refTDD) + "%") + "\n"; message += "\n"; PumpInterface pump = MainApp.getConfigBuilder().getActivePump(); if (pump != null && pump instanceof DanaRPlugin) { double tdd = DanaRPump.getInstance().dailyTotalUnits; - message += "Today: " + DecimalFormatter.to2Decimal(tdd) + "U " + (isCPP?(DecimalFormatter.to0Decimal(100*tdd/refTDD) + "%"):"") + "\n"; + message += "Today: " + DecimalFormatter.to2Decimal(tdd) + "U " + (DecimalFormatter.to0Decimal(100*tdd/refTDD) + "%") + "\n"; message += "\n"; } @@ -380,7 +382,7 @@ public class ActionStringHandler { Collections.reverse(historyList); for (DanaRHistoryRecord record : historyList) { double tdd = record.recordDailyBolus + record.recordDailyBasal; - message += df.format(new Date(record.recordDate)) + " " + DecimalFormatter.to2Decimal(tdd) +"U " + (isCPP?(DecimalFormatter.to0Decimal(100*tdd/refTDD) + "%"):"") + (dummies.contains(record)?"x":"") +"\n"; + message += df.format(new Date(record.recordDate)) + " " + DecimalFormatter.to2Decimal(tdd) +"U " + (DecimalFormatter.to0Decimal(100*tdd/refTDD) + "%") + (dummies.contains(record)?"x":"") +"\n"; } return message; } @@ -571,22 +573,39 @@ public class ActionStringHandler { lastBolusWizard = null; } - private static void setCPP(int percentage, int timeshift) { - Object activeProfile = MainApp.getConfigBuilder().getActiveProfileInterface(); - CircadianPercentageProfilePlugin cpp = MainApp.getSpecificPlugin(CircadianPercentageProfilePlugin.class); + private static void setCPP(int timeshift, int percentage) { - if(cpp == null || activeProfile==null || cpp != activeProfile){ - sendError("CPP not activated!"); - return; + String msg = ""; + + //check for validity + if (percentage < Constants.CPP_MIN_PERCENTAGE || percentage > Constants.CPP_MAX_PERCENTAGE) { + msg+= String.format(MainApp.sResources.getString(R.string.openapsma_valueoutofrange), "Profile-Percentage") + "\n"; } - String msg = cpp.externallySetParameters(timeshift, percentage); - if(msg != null && !"".equals(msg)){ + if (timeshift < 0 || timeshift > 23) { + msg+= String.format(MainApp.sResources.getString(R.string.openapsma_valueoutofrange), "Profile-Timeshift") + "\n"; + } + if(!SP.getBoolean("syncprofiletopump", false)){ + msg+= MainApp.sResources.getString(R.string.syncprofiletopump_title) + " " + MainApp.sResources.getString(R.string.cpp_sync_setting_missing) + "\n"; + } + final PumpInterface pump = MainApp.getConfigBuilder(); + final Profile profile = MainApp.getConfigBuilder().getProfile(); + + if (pump == null || profile == null || profile.getBasal() == null){ + msg+= MainApp.sResources.getString(R.string.cpp_notloadedplugins) + "\n"; + } + if(!"".equals(msg)) { + msg += MainApp.sResources.getString(R.string.cpp_valuesnotstored); String rTitle = "STATUS"; String rAction = "statusmessage"; WearFragment.getPlugin(MainApp.instance()).requestActionConfirmation(rTitle, msg, rAction); lastSentTimestamp = System.currentTimeMillis(); lastConfirmActionString = rAction; + return; } + + //send profile to pumpe + new NewNSTreatmentDialog(); //init + NewNSTreatmentDialog.doProfileSwitch(0, percentage, timeshift); } private static void generateTempTarget(int duration, double low, double high) { From 36784b983e300b9b7f2f7185e51b4ffa9b85206a Mon Sep 17 00:00:00 2001 From: AdrianLxM Date: Tue, 10 Oct 2017 20:42:29 +0200 Subject: [PATCH 02/17] remove cpp import --- .../nightscout/androidaps/plugins/Wear/ActionStringHandler.java | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Wear/ActionStringHandler.java b/app/src/main/java/info/nightscout/androidaps/plugins/Wear/ActionStringHandler.java index 625d902c17..45c57e8b99 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Wear/ActionStringHandler.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Wear/ActionStringHandler.java @@ -37,7 +37,6 @@ import info.nightscout.androidaps.plugins.Loop.APSResult; import info.nightscout.androidaps.plugins.Loop.LoopPlugin; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; -import info.nightscout.androidaps.plugins.ProfileCircadianPercentage.CircadianPercentageProfilePlugin; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPlugin; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; import info.nightscout.androidaps.plugins.PumpDanaR.comm.RecordTypes; From b60ff8ceefc4f816ca101bcd0dbc1c126e1eeb07 Mon Sep 17 00:00:00 2001 From: AdrianLxM Date: Tue, 10 Oct 2017 20:47:38 +0200 Subject: [PATCH 03/17] max timeshift to 23 --- app/src/main/java/info/nightscout/androidaps/Constants.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/info/nightscout/androidaps/Constants.java b/app/src/main/java/info/nightscout/androidaps/Constants.java index c31b120a3c..e37a5b4b9f 100644 --- a/app/src/main/java/info/nightscout/androidaps/Constants.java +++ b/app/src/main/java/info/nightscout/androidaps/Constants.java @@ -33,7 +33,7 @@ public class Constants { public static final int CPP_MIN_PERCENTAGE = 50; public static final int CPP_MAX_PERCENTAGE = 200; public static final int CPP_MIN_TIMESHIFT = -6; - public static final int CPP_MAX_TIMESHIFT = 6; + public static final int CPP_MAX_TIMESHIFT = 23; // Very Hard Limits Ranges // First value is the Lowest and second value is the Highest a Limit can define From 549b72b0326f2e6d4526cfa7e32da54d1bb23a51 Mon Sep 17 00:00:00 2001 From: AdrianLxM Date: Tue, 10 Oct 2017 21:51:58 +0200 Subject: [PATCH 04/17] fix percentage/shift from watch --- .../plugins/Careportal/Dialogs/NewNSTreatmentDialog.java | 4 ++-- .../androidaps/plugins/Wear/ActionStringHandler.java | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialog.java index 2477b0019b..bb727966f6 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialog.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialog.java @@ -322,7 +322,7 @@ public class NewNSTreatmentDialog extends DialogFragment implements View.OnClick editCarbTime.setParams(0d, -60d, 60d, 5d, new DecimalFormat("0"), false); editPercentage = (NumberPicker) view.findViewById(R.id.careportal_newnstreatment_percentage); - editPercentage.setParams(100d, (double) Constants.CPP_MIN_PERCENTAGE, (double) Constants.CPP_MAX_PERCENTAGE, 5d, new DecimalFormat("0"), false); + editPercentage.setParams(100d, (double) Constants.CPP_MIN_PERCENTAGE, (double) Constants.CPP_MAX_PERCENTAGE, 1d, new DecimalFormat("0"), false); editTimeshift = (NumberPicker) view.findViewById(R.id.careportal_newnstreatment_timeshift); editTimeshift.setParams(0d, (double) Constants.CPP_MIN_TIMESHIFT, (double) Constants.CPP_MAX_TIMESHIFT, 1d, new DecimalFormat("0"), false); @@ -722,7 +722,7 @@ public class NewNSTreatmentDialog extends DialogFragment implements View.OnClick @Override public void run() { ProfileSwitch profileSwitch = MainApp.getConfigBuilder().getProfileSwitchFromHistory(System.currentTimeMillis()); - if (profileSwitch == null) { + if (profileSwitch != null) { profileSwitch = new ProfileSwitch(); profileSwitch.date = System.currentTimeMillis(); profileSwitch.source = Source.USER; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Wear/ActionStringHandler.java b/app/src/main/java/info/nightscout/androidaps/plugins/Wear/ActionStringHandler.java index 45c57e8b99..7d7928cbf4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Wear/ActionStringHandler.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Wear/ActionStringHandler.java @@ -565,7 +565,7 @@ public class ActionStringHandler { } else if ("cppset".equals(act[0])) { int timeshift = SafeParse.stringToInt(act[1]); int percentage = SafeParse.stringToInt(act[2]); - setCPP(percentage, timeshift); + setCPP(timeshift, percentage); } else if ("dismissoverviewnotification".equals(act[0])){ MainApp.bus().post(new EventDismissNotification(SafeParse.stringToInt(act[1]))); } @@ -576,6 +576,7 @@ public class ActionStringHandler { String msg = ""; + //check for validity if (percentage < Constants.CPP_MIN_PERCENTAGE || percentage > Constants.CPP_MAX_PERCENTAGE) { msg+= String.format(MainApp.sResources.getString(R.string.openapsma_valueoutofrange), "Profile-Percentage") + "\n"; From 398e950f8e42bc5459f1fd6750bbb747508b633d Mon Sep 17 00:00:00 2001 From: AdrianLxM Date: Tue, 10 Oct 2017 22:11:06 +0200 Subject: [PATCH 05/17] fix percentage concatenation on profile names --- .../plugins/Careportal/Dialogs/NewNSTreatmentDialog.java | 2 +- .../plugins/ConfigBuilder/ConfigBuilderPlugin.java | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialog.java index bb727966f6..1b9de2acf9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialog.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialog.java @@ -726,7 +726,7 @@ public class NewNSTreatmentDialog extends DialogFragment implements View.OnClick profileSwitch = new ProfileSwitch(); profileSwitch.date = System.currentTimeMillis(); profileSwitch.source = Source.USER; - profileSwitch.profileName = MainApp.getConfigBuilder().getProfileName(); + profileSwitch.profileName = MainApp.getConfigBuilder().getProfileName(System.currentTimeMillis(), false); profileSwitch.profileJson = MainApp.getConfigBuilder().getProfile().getData().toString(); profileSwitch.profilePlugin = ConfigBuilderPlugin.getActiveProfileInterface().getClass().getName(); profileSwitch.durationInMinutes = duration; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java index c0f1c01aac..89fa92fc18 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java @@ -934,10 +934,14 @@ public class ConfigBuilderPlugin implements PluginBase, PumpInterface, Constrain } public String getProfileName(long time) { + return getProfileName(time, true); + } + + public String getProfileName(long time, boolean customized) { ProfileSwitch profileSwitch = getProfileSwitchFromHistory(time); if (profileSwitch != null) { if (profileSwitch.profileJson != null) { - return profileSwitch.getCustomizedName(); + return customized?profileSwitch.getCustomizedName():profileSwitch.profileName; } else { Profile profile = activeProfile.getProfile().getSpecificProfile(profileSwitch.profileName); if (profile != null) From 02369b952b8c233ca6598fe3bd5b38505b09d618 Mon Sep 17 00:00:00 2001 From: AdrianLxM Date: Tue, 10 Oct 2017 22:54:24 +0200 Subject: [PATCH 06/17] a little safer< --- .../Dialogs/NewNSTreatmentDialog.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialog.java index 1b9de2acf9..73cc0d9d10 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialog.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialog.java @@ -733,17 +733,19 @@ public class NewNSTreatmentDialog extends DialogFragment implements View.OnClick profileSwitch.isCPP = percentage != 100 || timeshift != 0; profileSwitch.timeshift = timeshift; profileSwitch.percentage = percentage; - } - MainApp.getConfigBuilder().addToHistoryProfileSwitch(profileSwitch); + MainApp.getConfigBuilder().addToHistoryProfileSwitch(profileSwitch); - PumpInterface pump = MainApp.getConfigBuilder(); - if (pump != null) { - pump.setNewBasalProfile(profileSwitch.getProfileObject()); - MainApp.bus().post(new EventNewBasalProfile()); + PumpInterface pump = MainApp.getConfigBuilder(); + if (pump != null) { + pump.setNewBasalProfile(profileSwitch.getProfileObject()); + MainApp.bus().post(new EventNewBasalProfile()); + } else { + log.error("No active pump selected"); + } + Answers.getInstance().logCustom(new CustomEvent("ProfileSwitch")); } else { - log.error("No active pump selected"); + log.error("No profile switch existing"); } - Answers.getInstance().logCustom(new CustomEvent("ProfileSwitch")); } }); } From e6565c1911b44a88aefb78f9fdc0dfceb98d4835 Mon Sep 17 00:00:00 2001 From: AdrianLxM Date: Wed, 11 Oct 2017 00:25:44 +0200 Subject: [PATCH 07/17] reuse button on profile switch --- .../Dialogs/NewNSTreatmentDialog.java | 23 ++++++++++++ .../careportal_newnstreatment_dialog.xml | 35 +++++++++++++++++++ app/src/main/res/values/strings.xml | 1 + 3 files changed, 59 insertions(+) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialog.java index 73cc0d9d10..1b976195ae 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialog.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialog.java @@ -16,6 +16,7 @@ import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.ArrayAdapter; +import android.widget.Button; import android.widget.CompoundButton; import android.widget.EditText; import android.widget.LinearLayout; @@ -75,6 +76,8 @@ public class NewNSTreatmentDialog extends DialogFragment implements View.OnClick TextView eventTypeText; LinearLayout layoutPercent; LinearLayout layoutAbsolute; + LinearLayout layoutReuse; + TextView dateButton; TextView timeButton; @@ -86,6 +89,7 @@ public class NewNSTreatmentDialog extends DialogFragment implements View.OnClick EditText notesEdit; Spinner profileSpinner; Spinner reasonSpinner; + Button reuseButton; NumberPicker editBg; NumberPicker editCarbs; @@ -141,6 +145,8 @@ public class NewNSTreatmentDialog extends DialogFragment implements View.OnClick layoutPercent = (LinearLayout) view.findViewById(R.id.careportal_newnstreatment_percent_layout); layoutAbsolute = (LinearLayout) view.findViewById(R.id.careportal_newnstreatment_absolute_layout); + layoutReuse = (LinearLayout) view.findViewById(R.id.careportal_newnstreatment_reuse_layout); + eventTypeText = (TextView) view.findViewById(R.id.careportal_newnstreatment_eventtype); eventTypeText.setText(event); bgUnitsView = (TextView) view.findViewById(R.id.careportal_newnstreatment_bgunits); @@ -149,6 +155,8 @@ public class NewNSTreatmentDialog extends DialogFragment implements View.OnClick otherRadioButton = (RadioButton) view.findViewById(R.id.careportal_newnstreatment_other); profileSpinner = (Spinner) view.findViewById(R.id.careportal_newnstreatment_profile); + reuseButton = (Button) view.findViewById(R.id.careportal_newnstreatment_reusebutton); + notesEdit = (EditText) view.findViewById(R.id.careportal_newnstreatment_notes); reasonSpinner = (Spinner) view.findViewById(R.id.careportal_newnstreatment_temptarget_reason); @@ -327,6 +335,20 @@ public class NewNSTreatmentDialog extends DialogFragment implements View.OnClick editTimeshift = (NumberPicker) view.findViewById(R.id.careportal_newnstreatment_timeshift); editTimeshift.setParams(0d, (double) Constants.CPP_MIN_TIMESHIFT, (double) Constants.CPP_MAX_TIMESHIFT, 1d, new DecimalFormat("0"), false); + ProfileSwitch ps = MainApp.getConfigBuilder().getProfileSwitchFromHistory(System.currentTimeMillis()); + if(ps!=null && ps.isCPP){ + final int percentage = ps.percentage; + final int timeshift = ps.timeshift; + reuseButton.setText(reuseButton.getText() + " " + percentage + "% " + timeshift +"h"); + reuseButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + editPercentage.setValue((double)percentage); + editTimeshift.setValue((double)timeshift); + } + }); + } + showOrHide((ViewGroup) view.findViewById(R.id.careportal_newnstreatment_eventtime_layout), options.date); showOrHide((ViewGroup) view.findViewById(R.id.careportal_newnstreatment_bg_layout), options.bg); showOrHide((ViewGroup) view.findViewById(R.id.careportal_newnstreatment_bgsource_layout), options.bg); @@ -340,6 +362,7 @@ public class NewNSTreatmentDialog extends DialogFragment implements View.OnClick showOrHide((ViewGroup) view.findViewById(R.id.careportal_newnstreatment_profile_layout), options.profile); showOrHide((ViewGroup) view.findViewById(R.id.careportal_newnstreatment_percentage_layout), options.profile); showOrHide((ViewGroup) view.findViewById(R.id.careportal_newnstreatment_timeshift_layout), options.profile); + showOrHide((ViewGroup) view.findViewById(R.id.careportal_newnstreatment_reuse_layout), options.profile && ps!=null && ps.isCPP); showOrHide((ViewGroup) view.findViewById(R.id.careportal_newnstreatment_temptarget_layout), options.tempTarget); return view; diff --git a/app/src/main/res/layout/careportal_newnstreatment_dialog.xml b/app/src/main/res/layout/careportal_newnstreatment_dialog.xml index b3e29a104e..0a2263f3b6 100644 --- a/app/src/main/res/layout/careportal_newnstreatment_dialog.xml +++ b/app/src/main/res/layout/careportal_newnstreatment_dialog.xml @@ -408,6 +408,41 @@ + + + + +