diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/insulin/InsulinFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/insulin/InsulinFragment.java
index 8954c81ce7..dec9239948 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/insulin/InsulinFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/insulin/InsulinFragment.java
@@ -52,7 +52,7 @@ public class InsulinFragment extends Fragment {
private void updateGUI() {
insulinName.setText(ConfigBuilderPlugin.getPlugin().getActiveInsulin().getFriendlyName());
insulinComment.setText(ConfigBuilderPlugin.getPlugin().getActiveInsulin().getComment());
- insulinDia.setText(MainApp.gs(R.string.dia) + " " + ConfigBuilderPlugin.getPlugin().getActiveInsulin().getDia() + "h");
+ insulinDia.setText(MainApp.gs(R.string.dia) + ": " + ConfigBuilderPlugin.getPlugin().getActiveInsulin().getDia() + "h");
insulinGraph.show(ConfigBuilderPlugin.getPlugin().getActiveInsulin());
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/profile/local/LocalProfileFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/profile/local/LocalProfileFragment.kt
index 7e1e971a24..1507595c49 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/profile/local/LocalProfileFragment.kt
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/profile/local/LocalProfileFragment.kt
@@ -60,6 +60,30 @@ class LocalProfileFragment : Fragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
build()
+ // activate DIA tab
+ processVisibilityOnClick(dia_tab)
+ localprofile_dia_placeholder.visibility = View.VISIBLE
+ // setup listeners
+ dia_tab.setOnClickListener {
+ processVisibilityOnClick(it)
+ localprofile_dia_placeholder.visibility = View.VISIBLE
+ }
+ ic_tab.setOnClickListener {
+ processVisibilityOnClick(it)
+ localprofile_ic.visibility = View.VISIBLE
+ }
+ isf_tab.setOnClickListener {
+ processVisibilityOnClick(it)
+ localprofile_isf.visibility = View.VISIBLE
+ }
+ basal_tab.setOnClickListener {
+ processVisibilityOnClick(it)
+ localprofile_basal.visibility = View.VISIBLE
+ }
+ target_tab.setOnClickListener {
+ processVisibilityOnClick(it)
+ localprofile_target.visibility = View.VISIBLE
+ }
}
fun build() {
@@ -68,14 +92,14 @@ class LocalProfileFragment : Fragment() {
localprofile_name.setText(LocalProfilePlugin.currentProfile().name)
localprofile_dia.setParams(LocalProfilePlugin.currentProfile().dia, HardLimits.MINDIA, HardLimits.MAXDIA, 0.1, DecimalFormat("0.0"), false, localprofile_save, textWatch)
- TimeListEdit(context, view, R.id.localprofile_ic, MainApp.gs(R.string.nsprofileview_ic_label) + ":", LocalProfilePlugin.currentProfile().ic, null, HardLimits.MINIC, HardLimits.MAXIC, 0.1, DecimalFormat("0.0"), save)
+ TimeListEdit(context, view, R.id.localprofile_ic, MainApp.gs(R.string.nsprofileview_ic_label), LocalProfilePlugin.currentProfile().ic, null, HardLimits.MINIC, HardLimits.MAXIC, 0.1, DecimalFormat("0.0"), save)
basalView = TimeListEdit(context, view, R.id.localprofile_basal, MainApp.gs(R.string.nsprofileview_basal_label) + ": " + sumLabel(), LocalProfilePlugin.currentProfile().basal, null, pumpDescription.basalMinimumRate, 10.0, 0.01, DecimalFormat("0.00"), save)
if (units == Constants.MGDL) {
- TimeListEdit(context, view, R.id.localprofile_isf, MainApp.gs(R.string.nsprofileview_isf_label) + ":", LocalProfilePlugin.currentProfile().isf, null, HardLimits.MINISF, HardLimits.MAXISF, 1.0, DecimalFormat("0"), save)
- TimeListEdit(context, view, R.id.localprofile_target, MainApp.gs(R.string.nsprofileview_target_label) + ":", LocalProfilePlugin.currentProfile().targetLow, LocalProfilePlugin.currentProfile().targetHigh, HardLimits.VERY_HARD_LIMIT_TARGET_BG[0].toDouble(), HardLimits.VERY_HARD_LIMIT_TARGET_BG[1].toDouble(), 1.0, DecimalFormat("0"), save)
+ TimeListEdit(context, view, R.id.localprofile_isf, MainApp.gs(R.string.nsprofileview_isf_label), LocalProfilePlugin.currentProfile().isf, null, HardLimits.MINISF, HardLimits.MAXISF, 1.0, DecimalFormat("0"), save)
+ TimeListEdit(context, view, R.id.localprofile_target, MainApp.gs(R.string.nsprofileview_target_label), LocalProfilePlugin.currentProfile().targetLow, LocalProfilePlugin.currentProfile().targetHigh, HardLimits.VERY_HARD_LIMIT_TARGET_BG[0].toDouble(), HardLimits.VERY_HARD_LIMIT_TARGET_BG[1].toDouble(), 1.0, DecimalFormat("0"), save)
} else {
- TimeListEdit(context, view, R.id.localprofile_isf, MainApp.gs(R.string.nsprofileview_isf_label) + ":", LocalProfilePlugin.currentProfile().isf, null, Profile.fromMgdlToUnits(HardLimits.MINISF, Constants.MMOL), Profile.fromMgdlToUnits(HardLimits.MAXISF, Constants.MMOL), 0.1, DecimalFormat("0.0"), save)
- TimeListEdit(context, view, R.id.localprofile_target, MainApp.gs(R.string.nsprofileview_target_label) + ":", LocalProfilePlugin.currentProfile().targetLow, LocalProfilePlugin.currentProfile().targetHigh, Profile.fromMgdlToUnits(HardLimits.VERY_HARD_LIMIT_TARGET_BG[0].toDouble(), Constants.MMOL), Profile.fromMgdlToUnits(HardLimits.VERY_HARD_LIMIT_TARGET_BG[1].toDouble(), Constants.MMOL), 0.1, DecimalFormat("0.0"), save)
+ TimeListEdit(context, view, R.id.localprofile_isf, MainApp.gs(R.string.nsprofileview_isf_label), LocalProfilePlugin.currentProfile().isf, null, Profile.fromMgdlToUnits(HardLimits.MINISF, Constants.MMOL), Profile.fromMgdlToUnits(HardLimits.MAXISF, Constants.MMOL), 0.1, DecimalFormat("0.0"), save)
+ TimeListEdit(context, view, R.id.localprofile_target, MainApp.gs(R.string.nsprofileview_target_label), LocalProfilePlugin.currentProfile().targetLow, LocalProfilePlugin.currentProfile().targetHigh, Profile.fromMgdlToUnits(HardLimits.VERY_HARD_LIMIT_TARGET_BG[0].toDouble(), Constants.MMOL), Profile.fromMgdlToUnits(HardLimits.VERY_HARD_LIMIT_TARGET_BG[1].toDouble(), Constants.MMOL), 0.1, DecimalFormat("0.0"), save)
}
// Spinner
@@ -183,11 +207,11 @@ class LocalProfileFragment : Fragment() {
}
fun updateGUI() {
- if (invalidprofile == null) return
+ if (localprofile_profileswitch == null) return
val isValid = LocalProfilePlugin.isValidEditState()
val isEdited = LocalProfilePlugin.isEdited
if (isValid) {
- invalidprofile.visibility = View.GONE //show invalid profile
+ this.view?.setBackgroundColor(MainApp.gc(R.color.ok_background))
if (isEdited) {
//edited profile -> save first
@@ -198,7 +222,7 @@ class LocalProfileFragment : Fragment() {
localprofile_save.visibility = View.GONE
}
} else {
- invalidprofile.visibility = View.VISIBLE
+ this.view?.setBackgroundColor(MainApp.gc(R.color.error_background))
localprofile_profileswitch.visibility = View.GONE
localprofile_save.visibility = View.GONE //don't save an invalid profile
}
@@ -210,4 +234,19 @@ class LocalProfileFragment : Fragment() {
localprofile_reset.visibility = View.GONE
}
}
+
+ private fun processVisibilityOnClick(selected: View) {
+ dia_tab.setBackgroundColor(MainApp.gc(R.color.defaultbackground))
+ ic_tab.setBackgroundColor(MainApp.gc(R.color.defaultbackground))
+ isf_tab.setBackgroundColor(MainApp.gc(R.color.defaultbackground))
+ basal_tab.setBackgroundColor(MainApp.gc(R.color.defaultbackground))
+ target_tab.setBackgroundColor(MainApp.gc(R.color.defaultbackground))
+ selected.setBackgroundColor(MainApp.gc(R.color.tabBgColorSelected))
+ localprofile_dia_placeholder.visibility = View.GONE
+ localprofile_ic.visibility = View.GONE
+ localprofile_isf.visibility = View.GONE
+ localprofile_basal.visibility = View.GONE
+ localprofile_target.visibility = View.GONE
+ }
+
}
diff --git a/app/src/main/java/info/nightscout/androidaps/utils/NumberPicker.java b/app/src/main/java/info/nightscout/androidaps/utils/NumberPicker.java
index e2a7489fc2..f47122e0c9 100644
--- a/app/src/main/java/info/nightscout/androidaps/utils/NumberPicker.java
+++ b/app/src/main/java/info/nightscout/androidaps/utils/NumberPicker.java
@@ -94,9 +94,13 @@ public class NumberPicker extends LinearLayout implements View.OnKeyListener,
this.initialize(context);
}
+ protected void inflate(Context context) {
+ LayoutInflater.from(context).inflate(R.layout.number_picker_layout, this, true);
+ }
+
private void initialize(Context context) {
// set layout view
- LayoutInflater.from(context).inflate(R.layout.number_picker_layout, this, true);
+ inflate(context);
// init ui components
minusButton = findViewById(R.id.decrement);
diff --git a/app/src/main/java/info/nightscout/androidaps/utils/NumberPickerVertical.java b/app/src/main/java/info/nightscout/androidaps/utils/NumberPickerVertical.java
new file mode 100644
index 0000000000..3265280c48
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/utils/NumberPickerVertical.java
@@ -0,0 +1,46 @@
+package info.nightscout.androidaps.utils;
+
+import android.content.Context;
+import android.os.Handler;
+import android.os.Message;
+import android.text.Editable;
+import android.text.TextWatcher;
+import android.util.AttributeSet;
+import android.view.KeyEvent;
+import android.view.LayoutInflater;
+import android.view.MotionEvent;
+import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.LinearLayout;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.text.NumberFormat;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
+
+import info.nightscout.androidaps.MainApp;
+import info.nightscout.androidaps.R;
+
+/**
+ * Created by mike on 28.06.2016.
+ */
+public class NumberPickerVertical extends NumberPicker {
+ private static Logger log = LoggerFactory.getLogger(NumberPickerVertical.class);
+
+ public NumberPickerVertical(Context context) {
+ super(context);
+ }
+
+ public NumberPickerVertical(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ @Override
+ protected void inflate(Context context) {
+ LayoutInflater.from(context).inflate(R.layout.number_picker_layout_vertical, this, true);
+ }
+ }
diff --git a/app/src/main/java/info/nightscout/androidaps/utils/TimeListEdit.java b/app/src/main/java/info/nightscout/androidaps/utils/TimeListEdit.java
index be8b89dff4..d9ed263c98 100644
--- a/app/src/main/java/info/nightscout/androidaps/utils/TimeListEdit.java
+++ b/app/src/main/java/info/nightscout/androidaps/utils/TimeListEdit.java
@@ -84,11 +84,11 @@ public class TimeListEdit {
textlabel = new TextView(context);
textlabel.setText(label);
- textlabel.setGravity(Gravity.START);
+ textlabel.setGravity(Gravity.CENTER);
LinearLayout.LayoutParams llp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
- llp.setMargins(10, 0, 0, 0); // llp.setMargins(left, top, right, bottom);
+ llp.setMargins(0, 5, 0, 5);
textlabel.setLayoutParams(llp);
- textlabel.setBackgroundColor(ContextCompat.getColor(MainApp.instance(), R.color.linearBlockBackground));
+ //textlabel.setBackgroundColor(ContextCompat.getColor(MainApp.instance(), R.color.linearBlockBackground));
TextViewCompat.setTextAppearance(textlabel, android.R.style.TextAppearance_Medium);
layout.addView(textlabel);
@@ -119,7 +119,8 @@ public class TimeListEdit {
private void inflateRow(final int position) {
LayoutInflater inflater = LayoutInflater.from(context);
- View childView = intervals[position] = inflater.inflate(R.layout.timelistedit_element, layout, false);
+ int resource = data2 == null ? R.layout.timelistedit_element : R.layout.timelistedit_element_vertical;
+ View childView = intervals[position] = inflater.inflate(resource, layout, false);
spinners[position] = new SpinnerHelper(childView.findViewById(R.id.timelistedit_time));
numberPickers1[position] = childView.findViewById(R.id.timelistedit_edit1);
numberPickers2[position] = childView.findViewById(R.id.timelistedit_edit2);
diff --git a/app/src/main/res/layout/localprofile_fragment.xml b/app/src/main/res/layout/localprofile_fragment.xml
index 3f962b7966..de9809bf35 100644
--- a/app/src/main/res/layout/localprofile_fragment.xml
+++ b/app/src/main/res/layout/localprofile_fragment.xml
@@ -9,16 +9,6 @@
android:layout_height="wrap_content"
android:orientation="vertical">
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -135,15 +188,10 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
- android:layout_marginStart="10dp"
+ android:layout_marginEnd="10dp"
android:text="@string/dia"
android:textAppearance="?android:attr/textAppearanceMedium" />
-
-
+ android:textAppearance="?android:attr/textAppearanceSmall" />
diff --git a/app/src/main/res/layout/number_picker_layout_vertical.xml b/app/src/main/res/layout/number_picker_layout_vertical.xml
new file mode 100644
index 0000000000..291e5ac198
--- /dev/null
+++ b/app/src/main/res/layout/number_picker_layout_vertical.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/timelistedit_element_vertical.xml b/app/src/main/res/layout/timelistedit_element_vertical.xml
new file mode 100644
index 0000000000..7a92b77221
--- /dev/null
+++ b/app/src/main/res/layout/timelistedit_element_vertical.xml
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index d6470025e2..216c21c379 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -28,6 +28,8 @@
#757575
#d8d8d8
#ff1a1a
+ #66FC0000
+ #323232
#424242
#BBBBBB
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index b05d0844fa..75db65a355 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -414,7 +414,7 @@
Units
mg/dl
mmol/l
- DIA:
+ DIA
Target range:
Range for Visualization
High and low mark for the charts in Overview and Smartwatch
@@ -1645,5 +1645,9 @@
high_mark
wear_detailediob
wear_showbgi
+ DIA
+ IC
+ ISF
+ TARG