new temp basal dialog refactor

This commit is contained in:
Milos Kozak 2017-08-01 20:02:17 +02:00
parent d2a5939ce3
commit 9596987b35
11 changed files with 108 additions and 256 deletions

View file

@ -27,6 +27,7 @@ import info.nightscout.androidaps.data.PumpEnactResult;
import info.nightscout.androidaps.interfaces.PumpDescription;
import info.nightscout.androidaps.interfaces.PumpInterface;
import info.nightscout.androidaps.data.Profile;
import info.nightscout.utils.NumberPicker;
import info.nightscout.utils.PlusMinusEditText;
import info.nightscout.utils.SafeParse;
@ -35,14 +36,14 @@ public class NewTempBasalDialog extends DialogFragment implements View.OnClickLi
RadioButton percentRadio;
RadioButton absoluteRadio;
RadioGroup basalTypeRadioGroup;
RelativeLayout typeSelectorLayout;
LinearLayout typeSelectorLayout;
LinearLayout percentLayout;
LinearLayout absoluteLayout;
PlusMinusEditText basalPercent;
PlusMinusEditText basalAbsolute;
PlusMinusEditText duration;
NumberPicker basalPercent;
NumberPicker basalAbsolute;
NumberPicker duration;
Handler mHandler;
public static HandlerThread mHandlerThread;
@ -65,22 +66,24 @@ public class NewTempBasalDialog extends DialogFragment implements View.OnClickLi
percentRadio = (RadioButton) view.findViewById(R.id.overview_newtempbasal_percent_radio);
basalTypeRadioGroup = (RadioGroup) view.findViewById(R.id.overview_newtempbasal_radiogroup);
absoluteRadio = (RadioButton) view.findViewById(R.id.overview_newtempbasal_absolute_radio);
typeSelectorLayout = (RelativeLayout) view.findViewById(R.id.overview_newtempbasal_typeselector_layout);
typeSelectorLayout = (LinearLayout) view.findViewById(R.id.overview_newtempbasal_typeselector_layout);
PumpDescription pumpDescription = MainApp.getConfigBuilder().getPumpDescription();
basalPercent = new PlusMinusEditText(view, R.id.overview_newtempbasal_basalpercentinput, R.id.overview_newtempbasal_basalpercent_plus, R.id.overview_newtempbasal_basalpercent_minus,
100d, 0d, (double) pumpDescription.maxTempPercent, (double) pumpDescription.tempPercentStep, new DecimalFormat("0"), true);
basalPercent = (NumberPicker) view.findViewById(R.id.overview_newtempbasal_basalpercentinput);
double maxTempPercent = pumpDescription.maxTempPercent;
double tempPercentStep = pumpDescription.tempPercentStep;
basalPercent.setParams(100d, 0d, maxTempPercent, tempPercentStep, new DecimalFormat("0"), true);
Profile profile = MainApp.getConfigBuilder().getProfile();
Double currentBasal = profile.getBasal();
basalAbsolute = new PlusMinusEditText(view, R.id.overview_newtempbasal_basalabsoluteinput, R.id.overview_newtempbasal_basalabsolute_plus, R.id.overview_newtempbasal_basalabsolute_minus,
currentBasal, 0d, pumpDescription.maxTempAbsolute, pumpDescription.tempAbsoluteStep, new DecimalFormat("0.00"), true);
Double currentBasal = profile != null ? profile.getBasal() : 0d;
basalAbsolute = (NumberPicker) view.findViewById(R.id.overview_newtempbasal_basalabsoluteinput);
basalAbsolute.setParams(currentBasal, 0d, pumpDescription.maxTempAbsolute, pumpDescription.tempAbsoluteStep, new DecimalFormat("0.00"), true);
double tempDurationStep = MainApp.getConfigBuilder().getPumpDescription().tempDurationStep;
double tempMaxDuration = MainApp.getConfigBuilder().getPumpDescription().tempMaxDuration;
duration = new PlusMinusEditText(view, R.id.overview_newtempbasal_duration, R.id.overview_newtempbasal_duration_plus, R.id.overview_newtempbasal_duration_minus,
tempDurationStep, tempDurationStep, tempMaxDuration, tempDurationStep, new DecimalFormat("0"), false);
double tempDurationStep = pumpDescription.tempDurationStep;
double tempMaxDuration = pumpDescription.tempMaxDuration;
duration = (NumberPicker) view.findViewById(R.id.overview_newtempbasal_duration);
duration.setParams(tempDurationStep, tempDurationStep, tempMaxDuration, tempDurationStep, new DecimalFormat("0"), false);
if ((pumpDescription.tempBasalStyle & PumpDescription.PERCENT) == PumpDescription.PERCENT && (pumpDescription.tempBasalStyle & PumpDescription.ABSOLUTE) == PumpDescription.ABSOLUTE) {
// Both allowed
@ -107,13 +110,6 @@ public class NewTempBasalDialog extends DialogFragment implements View.OnClickLi
return view;
}
@Override
public void onResume() {
super.onResume();
if (getDialog() != null)
getDialog().getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
}
@Override
public void onClick(View view) {
switch (view.getId()) {

View file

@ -65,12 +65,6 @@ public class VirtualPumpFragment extends SubscriberFragment {
updateGUI();
}
@Override
public void onResume() {
super.onResume();
updateGUI();
}
@Override
protected void updateGUI() {
Activity activity = getActivity();

View file

@ -12,128 +12,84 @@
android:layout_height="match_parent">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="10dp">
<RelativeLayout
android:id="@+id/overview_newtempbasal_typeselector_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_marginTop="5dp"
android:layout_gravity="center_horizontal"
android:text="@string/virtualpump_tempbasal_label"
android:textAppearance="?android:attr/textAppearanceLarge" />
<LinearLayout
android:id="@+id/overview_newtempbasal_typeselector_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:orientation="vertical">
<TextView
android:id="@+id/textView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="5dp"
android:layout_marginTop="15dp"
android:text="@string/overview_newtempbasal_basaltype_label"
android:textAlignment="center"
android:textAppearance="@android:style/TextAppearance.Material.Small"
android:textStyle="bold" />
<RadioGroup
android:id="@+id/overview_newtempbasal_radiogroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
android:orientation="vertical">
<RadioButton
android:id="@+id/overview_newtempbasal_percent_radio"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:checked="true"
android:text="@string/overview_newtempbasal_percent_label"
/>
android:text="@string/overview_newtempbasal_percent_label" />
<RadioButton
android:id="@+id/overview_newtempbasal_absolute_radio"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:text="U/h" />
</RadioGroup>
<View
android:layout_width="fill_parent"
android:layout_height="2dip"
android:layout_alignParentBottom="true"
android:layout_marginBottom="5dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_marginTop="5dp"
android:text="@string/overview_newtempbasal_basal_label"
android:textAppearance="@android:style/TextAppearance.Material.Small"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:id="@+id/overview_newtempbasal_percent_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp"
android:orientation="horizontal">
<ImageView
android:id="@+id/overview_newtempbasal_basalpercent_minus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="0.5"
android:background="@drawable/circle"
android:backgroundTint="#ffffff"
android:src="@drawable/ic_action_minus"
android:tint="#ffffff" />
<EditText
android:id="@+id/overview_newtempbasal_basalpercentinput"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_weight="0.5"
android:gravity="center_horizontal"
android:inputType="numberDecimal"
android:minWidth="100dp"
android:padding="10dp"
android:text=""
android:textAppearance="?android:attr/textAppearanceLarge" />
android:orientation="vertical">
<ImageView
android:id="@+id/overview_newtempbasal_basalpercent_plus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="0.5"
android:background="@drawable/circle"
android:backgroundTint="#ffffff"
android:src="@drawable/ic_action_add"
android:tint="#ffffff" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="left"
android:minWidth="40dp"
android:paddingLeft="5dp"
android:text="%"
android:textAppearance="?android:attr/textAppearanceSmall" />
android:layout_gravity="center_horizontal"
android:layout_marginBottom="5dp"
android:layout_marginTop="15dp"
android:text="@string/overview_newtempbasal_basalpercent"
android:textAppearance="@android:style/TextAppearance.Material.Small"
android:textStyle="bold" />
<info.nightscout.utils.NumberPicker
android:id="@+id/overview_newtempbasal_basalpercentinput"
android:layout_width="130dp"
android:layout_height="40dp"
android:layout_gravity="end"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp" />
</LinearLayout>
@ -141,135 +97,47 @@
android:id="@+id/overview_newtempbasal_absolute_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp"
android:orientation="horizontal">
android:layout_gravity="center_horizontal"
android:orientation="vertical">
<ImageView
android:id="@+id/overview_newtempbasal_basalabsolute_minus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="0.5"
android:background="@drawable/circle"
android:backgroundTint="#ffffff"
android:src="@drawable/ic_action_minus"
android:tint="#ffffff" />
<EditText
android:id="@+id/overview_newtempbasal_basalabsoluteinput"
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_weight="0.5"
android:gravity="center_horizontal"
android:inputType="numberDecimal"
android:minWidth="100dp"
android:padding="10dp"
android:text=""
android:textAppearance="?android:attr/textAppearanceLarge" />
<ImageView
android:id="@+id/overview_newtempbasal_basalabsolute_plus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="0.5"
android:background="@drawable/circle"
android:backgroundTint="#ffffff"
android:src="@drawable/ic_action_add"
android:tint="#ffffff" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="left"
android:minWidth="40dp"
android:paddingLeft="5dp"
android:text="U/h"
android:textAppearance="?android:attr/textAppearanceSmall" />
</LinearLayout>
<View
android:layout_width="fill_parent"
android:layout_height="2dip"
android:layout_alignParentBottom="true"
android:layout_marginBottom="5dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="5dp"
android:background="@color/listdelimiter" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_marginTop="5dp"
android:text="@string/careportal_newnstreatment_duration_label"
android:layout_marginTop="15dp"
android:text="@string/overview_newtempbasal_basalabsolute"
android:textAppearance="@android:style/TextAppearance.Material.Small"
android:textStyle="bold" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp"
android:orientation="horizontal">
<info.nightscout.utils.NumberPicker
android:id="@+id/overview_newtempbasal_basalabsoluteinput"
android:layout_width="130dp"
android:layout_height="40dp"
android:layout_gravity="end"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp" />
<ImageView
android:id="@+id/overview_newtempbasal_duration_minus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/circle"
android:backgroundTint="#ffffff"
android:src="@drawable/ic_action_minus"
android:tint="#ffffff" />
<EditText
android:id="@+id/overview_newtempbasal_duration"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:gravity="center_horizontal"
android:inputType="numberDecimal"
android:minWidth="100dp"
android:padding="10dp"
android:text=""
android:textAppearance="?android:attr/textAppearanceLarge" />
<ImageView
android:id="@+id/overview_newtempbasal_duration_plus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/circle"
android:backgroundTint="#ffffff"
android:src="@drawable/ic_action_add"
android:tint="#ffffff" />
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="left"
android:minWidth="40dp"
android:paddingLeft="5dp"
android:text="@string/careportal_newnstreatment_minutes"
android:textAppearance="?android:attr/textAppearanceSmall" />
android:layout_gravity="center_horizontal"
android:layout_marginBottom="5dp"
android:layout_marginTop="15dp"
android:text="@string/careportal_newnstreatment_duration_min_label"
android:textAppearance="@android:style/TextAppearance.Material.Small"
android:textStyle="bold" />
</LinearLayout>
</RelativeLayout>
<info.nightscout.utils.NumberPicker
android:id="@+id/overview_newtempbasal_duration"
android:layout_width="130dp"
android:layout_height="40dp"
android:layout_gravity="end"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp" />
<include layout="@layout/mdtp_done_button" />

View file

@ -114,7 +114,7 @@
<string name="constraints_violation">Нарушено ограничение</string>
<string name="treatmentdeliveryerror">Грешка при подаване на болус</string>
<string name="tempbasaldeliveryerror">Грешка при подаване на временен базал</string>
<string name="overview_newtempbasal_basal_label">Стойност на базал</string>
<string name="overview_newtempbasal_basalpercent">Стойност на базал [%]</string>
<string name="overview_newtempbasal_percent_label">% (100% = текущ)</string>
<string name="setbasalquestion">Приложи нов временен базал:</string>
<string name="overview_bolus_label">Болус</string>
@ -183,7 +183,6 @@
<string name="careportal_newnstreatment_duration_label">Продължителност</string>
<string name="careportal_newnstreatment_percent_label">Процент</string>
<string name="careportal_newnstreatment_absolute_label">Абсолютна</string>
<string name="careportal_newnstreatment_minutes">мин</string>
<string name="careportal_newnstreatment_notes_label">Бележки</string>
<string name="careportal_newnstreatment_eventtime_label">Време на събитие</string>
<string name="careportal_newnstreatment_profile_label">Профил</string>

View file

@ -26,7 +26,6 @@
<string name="careportal_newnstreatment_carbs_label">Sacharidy</string>
<string name="careportal_newnstreatment_carbtime_label">Čas jídla</string>
<string name="careportal_newnstreatment_duration_label">Trvání</string>
<string name="careportal_newnstreatment_minutes">min</string>
<string name="careportal_newnstreatment_enteredby_title">Zadal</string>
<string name="careportal_newnstreatment_eventtime_label">Čas</string>
<string name="careportal_newnstreatment_insulin_label">Inzulín</string>
@ -116,7 +115,7 @@
<string name="openloop_newsuggestion">Dostupné nové doporučení</string>
<string name="overview">Přehled</string>
<string name="overview_calculator_label">Kalkulačka</string>
<string name="overview_newtempbasal_basal_label">Hodnota bazálu</string>
<string name="overview_newtempbasal_basalpercent">Hodnota bazálu [%]</string>
<string name="overview_newtempbasal_percent_label">% (100% = současný)</string>
<string name="overview_bolus_label">Bolus</string>
<string name="profileviewer">NS profil</string>

View file

@ -33,7 +33,6 @@
<string name="careportal_cgmsensorstart">CGM Sensor Start</string>
<string name="careportal_newnstreatment_absolute_label">Absolut</string>
<string name="careportal_newnstreatment_carbs_label">Kohlehydrate</string>
<string name="careportal_newnstreatment_minutes">min</string>
<string name="careportal_newnstreatment_insulin_label">Insulin</string>
<string name="careportal_newnstreatment_glucosetype">Glukose-Art</string>
<string name="careportal_newnstreatment_eventtype">Ereignis-Typ</string>
@ -119,7 +118,7 @@
<string name="danar_useextended_title">Benutze extended Bolus für hohe temps (\>200%)></string>
<string name="objectives_pumpstatusavailableinns">Pumpen Status verfügbar in NS</string>
<string name="overview_newtempbasal_percent_label">% (100% = current)</string>
<string name="overview_newtempbasal_basal_label">Basal Wert</string>
<string name="overview_newtempbasal_basalpercent">Basal Wert [%]</string>
<string name="overview_extendedbolus_button">Extended Bolus</string>
<string name="overview">Übersicht</string>
<string name="openloop_newsuggestion">Neue Empfehlung verfügbar</string>

View file

@ -108,7 +108,7 @@
<string name="openapsma_disabled">Plugin está desactivado</string>
<string name="constraints_violation">Violación restricciones</string>
<string name="treatmentdeliveryerror">Error de administración del bolo</string>
<string name="overview_newtempbasal_basal_label">Valor basal</string>
<string name="overview_newtempbasal_basalpercent">Valor basal [%]</string>
<string name="overview_newtempbasal_percent_label">% (100% = actual)</string>
<string name="setbasalquestion">Aceptar nueva basal temporal:</string>
<string name="overview_bolus_label">Bolo</string>
@ -170,7 +170,6 @@
<string name="careportal_newnstreatment_duration_label">Duración</string>
<string name="careportal_newnstreatment_percent_label">Dosis</string>
<string name="careportal_newnstreatment_absolute_label">Absoluto</string>
<string name="careportal_newnstreatment_minutes"> min</string>
<string name="careportal_newnstreatment_notes_label">Notas</string>
<string name="careportal_newnstreatment_eventtime_label">Fecha Hora</string>
<string name="careportal_newnstreatment_profile_label">Perfil</string>

View file

@ -47,7 +47,6 @@
<string name="careportal_newnstreatment_glucosetype">Tipo di glucosio</string>
<string name="careportal_newnstreatment_insulin_label">Insulina</string>
<string name="careportal_newnstreatment_meter">Glucometro</string>
<string name="careportal_newnstreatment_minutes">Minimo</string>
<string name="careportal_newnstreatment_notes_label">Note</string>
<string name="careportal_newnstreatment_other">Altro</string>
<string name="careportal_newnstreatment_percent_label">Percentuale</string>
@ -310,7 +309,7 @@
<string name="overview_editquickwizard_valid">Valido:</string>
<string name="overview_editquickwizardlistactivity_add">Aggiungere</string>
<string name="overview_extendedbolus_button">Bolo Esteso</string>
<string name="overview_newtempbasal_basal_label">Valore Basale</string>
<string name="overview_newtempbasal_basalpercent">Valore Basale [%]</string>
<string name="overview_quickwizard_item_edit_button">Uscire</string>
<string name="overview_quickwizard_item_remove_button">Eliminare</string>
<string name="overview_shortname">HOME</string>

View file

@ -108,7 +108,7 @@
<string name="constraints_violation">제한 위반</string>
<string name="treatmentdeliveryerror">식사주입 전송 에러</string>
<string name="tempbasaldeliveryerror">Tempbasal delivery error</string>
<string name="overview_newtempbasal_basal_label">기초주입 값</string>
<string name="overview_newtempbasal_basalpercent">기초주입 값 [%]</string>
<string name="overview_newtempbasal_percent_label">% (100% = 현재)</string>
<string name="setbasalquestion">새 임시기초주입 적용:</string>
<string name="overview_bolus_label">식사주입</string>
@ -171,7 +171,6 @@
<string name="careportal_newnstreatment_duration_label">Duration</string>
<string name="careportal_newnstreatment_percent_label">Percent</string>
<string name="careportal_newnstreatment_absolute_label">Absolute</string>
<string name="careportal_newnstreatment_minutes">min</string>
<string name="careportal_newnstreatment_notes_label">Notes</string>
<string name="careportal_newnstreatment_eventtime_label">Event time</string>
<string name="careportal_newnstreatment_profile_label">Profile</string>

View file

@ -60,7 +60,6 @@
<string name="careportal_newnstreatment_glucosetype">тип глюкозы</string>
<string name="careportal_newnstreatment_insulin_label">инсулин</string>
<string name="careportal_newnstreatment_meter">глюкометр</string>
<string name="careportal_newnstreatment_minutes">минут</string>
<string name="careportal_newnstreatment_notes_label">заметки</string>
<string name="careportal_newnstreatment_other">другое</string>
<string name="careportal_newnstreatment_percent_label">процент</string>
@ -387,7 +386,7 @@
<string name="overview_editquickwizard_valid">использовать до:</string>
<string name="overview_editquickwizardlistactivity_add">добавить</string>
<string name="overview_extendedbolus_button">расширенный болюс</string>
<string name="overview_newtempbasal_basal_label">величина базала</string>
<string name="overview_newtempbasal_basalpercent">величина базала</string>
<string name="overview_newtempbasal_percent_label">% (100% = current)</string>
<string name="overview_quickwizard_item_edit_button">редактировать</string>
<string name="overview_quickwizard_item_remove_button">удалить</string>

View file

@ -114,7 +114,7 @@
<string name="constraints_violation">Constraints violation</string>
<string name="treatmentdeliveryerror">Bolus delivery error</string>
<string name="tempbasaldeliveryerror">Tempbasal delivery error</string>
<string name="overview_newtempbasal_basal_label">Basal value</string>
<string name="overview_newtempbasal_basalpercent">Basal value [%]</string>
<string name="overview_newtempbasal_percent_label">% (100% = current)</string>
<string name="setbasalquestion">Accept new temp basal:</string>
<string name="overview_bolus_label">Bolus</string>
@ -183,7 +183,6 @@
<string name="careportal_newnstreatment_duration_label">Duration</string>
<string name="careportal_newnstreatment_percent_label">Percent</string>
<string name="careportal_newnstreatment_absolute_label">Absolute</string>
<string name="careportal_newnstreatment_minutes">min</string>
<string name="careportal_newnstreatment_notes_label">Notes</string>
<string name="careportal_newnstreatment_eventtime_label">Event time</string>
<string name="careportal_newnstreatment_profile_label">Profile</string>
@ -691,5 +690,7 @@
<string name="careportal_carbsandbolus_label">CARBS &amp; BOLUS</string>
<string name="careportal_cgm_label">CGM &amp; OPENAPS</string>
<string name="careportal_pump_label">PUMP</string>
<string name="overview_newtempbasal_basalabsolute">Basal value [U/h]</string>
<string name="careportal_newnstreatment_duration_min_label">Duration [min]</string>
</resources>