From 8aaac40160a34e239a76da4382da22b2ec4f2ea9 Mon Sep 17 00:00:00 2001 From: Erik Johansson Date: Fri, 23 Mar 2018 00:02:08 +0100 Subject: [PATCH] State dependency explicitly in all measurement views --- .../health/openscale/gui/views/BMIMeasurementView.java | 5 +++-- .../health/openscale/gui/views/BMRMeasurementView.java | 5 +++-- .../health/openscale/gui/views/BoneMeasurementView.java | 8 +++++++- .../openscale/gui/views/CommentMeasurementView.java | 8 +++++++- .../health/openscale/gui/views/DateMeasurementView.java | 8 +++++++- .../health/openscale/gui/views/FatMeasurementView.java | 8 +++++++- .../health/openscale/gui/views/HipMeasurementView.java | 8 +++++++- .../health/openscale/gui/views/LBWMeasurementView.java | 8 +++++++- .../com/health/openscale/gui/views/MeasurementView.java | 2 +- .../health/openscale/gui/views/MuscleMeasurementView.java | 8 +++++++- .../health/openscale/gui/views/TimeMeasurementView.java | 8 +++++++- .../health/openscale/gui/views/WHRMeasurementView.java | 5 +++-- .../health/openscale/gui/views/WHtRMeasurementView.java | 5 +++-- .../health/openscale/gui/views/WaistMeasurementView.java | 8 +++++++- .../health/openscale/gui/views/WaterMeasurementView.java | 8 +++++++- .../health/openscale/gui/views/WeightMeasurementView.java | 8 +++++++- 16 files changed, 90 insertions(+), 20 deletions(-) diff --git a/android_app/app/src/main/java/com/health/openscale/gui/views/BMIMeasurementView.java b/android_app/app/src/main/java/com/health/openscale/gui/views/BMIMeasurementView.java index 36cd40e5..72115f8c 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/views/BMIMeasurementView.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/views/BMIMeasurementView.java @@ -25,7 +25,8 @@ import com.health.openscale.core.evaluation.EvaluationResult; import com.health.openscale.core.evaluation.EvaluationSheet; public class BMIMeasurementView extends FloatMeasurementView { - public static String KEY = "bmi"; + public static final String KEY = "bmi"; + private static final String[] DEPENDENCY = {WeightMeasurementView.KEY}; public BMIMeasurementView(Context context) { super(context, context.getResources().getString(R.string.label_bmi), ContextCompat.getDrawable(context, R.drawable.ic_bmi)); @@ -38,7 +39,7 @@ public class BMIMeasurementView extends FloatMeasurementView { @Override public String[] getDependencyKeys() { - return new String[] {WeightMeasurementView.KEY}; + return DEPENDENCY; } @Override diff --git a/android_app/app/src/main/java/com/health/openscale/gui/views/BMRMeasurementView.java b/android_app/app/src/main/java/com/health/openscale/gui/views/BMRMeasurementView.java index 04cc6caf..6d427bd2 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/views/BMRMeasurementView.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/views/BMRMeasurementView.java @@ -27,7 +27,8 @@ import com.health.openscale.core.evaluation.EvaluationSheet; import java.util.Locale; public class BMRMeasurementView extends FloatMeasurementView { - public static String KEY = "bmr"; + public static final String KEY = "bmr"; + private static final String[] DEPENDENCY = {WeightMeasurementView.KEY}; public BMRMeasurementView(Context context) { super(context, context.getResources().getString(R.string.label_bmr), ContextCompat.getDrawable(context, R.drawable.ic_bmr)); @@ -40,7 +41,7 @@ public class BMRMeasurementView extends FloatMeasurementView { @Override public String[] getDependencyKeys() { - return new String[] {WeightMeasurementView.KEY}; + return DEPENDENCY; } @Override diff --git a/android_app/app/src/main/java/com/health/openscale/gui/views/BoneMeasurementView.java b/android_app/app/src/main/java/com/health/openscale/gui/views/BoneMeasurementView.java index e964200c..e657fe1e 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/views/BoneMeasurementView.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/views/BoneMeasurementView.java @@ -25,7 +25,8 @@ import com.health.openscale.core.evaluation.EvaluationResult; import com.health.openscale.core.evaluation.EvaluationSheet; public class BoneMeasurementView extends FloatMeasurementView { - public static String KEY = "bone"; + public static final String KEY = "bone"; + private static final String[] DEPENDENCY = {}; public BoneMeasurementView(Context context) { super(context, context.getResources().getString(R.string.label_bone), ContextCompat.getDrawable(context, R.drawable.ic_bone)); @@ -36,6 +37,11 @@ public class BoneMeasurementView extends FloatMeasurementView { return KEY; } + @Override + public String[] getDependencyKeys() { + return DEPENDENCY; + } + @Override protected float getMeasurementValue(ScaleMeasurement measurement) { return measurement.getBone(); diff --git a/android_app/app/src/main/java/com/health/openscale/gui/views/CommentMeasurementView.java b/android_app/app/src/main/java/com/health/openscale/gui/views/CommentMeasurementView.java index fbfd31d6..3664bde0 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/views/CommentMeasurementView.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/views/CommentMeasurementView.java @@ -26,7 +26,8 @@ import com.health.openscale.R; import com.health.openscale.core.datatypes.ScaleMeasurement; public class CommentMeasurementView extends MeasurementView { - public static String KEY = "comment"; + public static final String KEY = "comment"; + private static final String[] DEPENDENCY = {}; private String comment; @@ -39,6 +40,11 @@ public class CommentMeasurementView extends MeasurementView { return KEY; } + @Override + public String[] getDependencyKeys() { + return DEPENDENCY; + } + private void setValue(String newComment, boolean callListener) { if (!newComment.equals(comment)) { comment = newComment; diff --git a/android_app/app/src/main/java/com/health/openscale/gui/views/DateMeasurementView.java b/android_app/app/src/main/java/com/health/openscale/gui/views/DateMeasurementView.java index b9742b58..8f1c5a3c 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/views/DateMeasurementView.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/views/DateMeasurementView.java @@ -29,7 +29,8 @@ import java.util.Calendar; import java.util.Date; public class DateMeasurementView extends MeasurementView { - public static String KEY = "date"; + public static final String KEY = "date"; + private static final String[] DEPENDENCY = {}; private static DateFormat dateFormat = DateFormat.getDateInstance(); private Date date; @@ -43,6 +44,11 @@ public class DateMeasurementView extends MeasurementView { return KEY; } + @Override + public String[] getDependencyKeys() { + return DEPENDENCY; + } + private void setValue(Date newDate, boolean callListener) { if (!newDate.equals(date)) { date = newDate; diff --git a/android_app/app/src/main/java/com/health/openscale/gui/views/FatMeasurementView.java b/android_app/app/src/main/java/com/health/openscale/gui/views/FatMeasurementView.java index 145fa8f1..8c4ac08b 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/views/FatMeasurementView.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/views/FatMeasurementView.java @@ -26,7 +26,8 @@ import com.health.openscale.core.evaluation.EvaluationResult; import com.health.openscale.core.evaluation.EvaluationSheet; public class FatMeasurementView extends FloatMeasurementView { - public static String KEY = "fat"; + public static final String KEY = "fat"; + private static final String[] DEPENDENCY = {WeightMeasurementView.KEY}; private boolean estimateFatEnable; private boolean percentageEnable; @@ -40,6 +41,11 @@ public class FatMeasurementView extends FloatMeasurementView { return KEY; } + @Override + public String[] getDependencyKeys() { + return DEPENDENCY; + } + @Override public void updatePreferences(SharedPreferences preferences) { super.updatePreferences(preferences); diff --git a/android_app/app/src/main/java/com/health/openscale/gui/views/HipMeasurementView.java b/android_app/app/src/main/java/com/health/openscale/gui/views/HipMeasurementView.java index 622b3762..732d6842 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/views/HipMeasurementView.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/views/HipMeasurementView.java @@ -25,7 +25,8 @@ import com.health.openscale.core.evaluation.EvaluationResult; import com.health.openscale.core.evaluation.EvaluationSheet; public class HipMeasurementView extends FloatMeasurementView { - public static String KEY = "hip"; + public static final String KEY = "hip"; + private static final String[] DEPENDENCY = {}; public HipMeasurementView(Context context) { super(context, context.getResources().getString(R.string.label_hip), ContextCompat.getDrawable(context, R.drawable.ic_hip)); @@ -36,6 +37,11 @@ public class HipMeasurementView extends FloatMeasurementView { return KEY; } + @Override + public String[] getDependencyKeys() { + return DEPENDENCY; + } + @Override protected float getMeasurementValue(ScaleMeasurement measurement) { return measurement.getHip(); diff --git a/android_app/app/src/main/java/com/health/openscale/gui/views/LBWMeasurementView.java b/android_app/app/src/main/java/com/health/openscale/gui/views/LBWMeasurementView.java index 37f5b1a9..e556ce1c 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/views/LBWMeasurementView.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/views/LBWMeasurementView.java @@ -26,7 +26,8 @@ import com.health.openscale.core.evaluation.EvaluationResult; import com.health.openscale.core.evaluation.EvaluationSheet; public class LBWMeasurementView extends FloatMeasurementView { - public static String KEY = "lbw"; + public static final String KEY = "lbw"; + private static final String[] DEPENDENCY = {}; private boolean estimateLBWEnable; @@ -39,6 +40,11 @@ public class LBWMeasurementView extends FloatMeasurementView { return KEY; } + @Override + public String[] getDependencyKeys() { + return DEPENDENCY; + } + @Override public void updatePreferences(SharedPreferences preferences) { super.updatePreferences(preferences); diff --git a/android_app/app/src/main/java/com/health/openscale/gui/views/MeasurementView.java b/android_app/app/src/main/java/com/health/openscale/gui/views/MeasurementView.java index 80d77b01..df82cc12 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/views/MeasurementView.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/views/MeasurementView.java @@ -245,7 +245,7 @@ public abstract class MeasurementView extends TableLayout { } public abstract String getKey(); - public String[] getDependencyKeys() { return new String[]{}; } + public abstract String[] getDependencyKeys(); public static String getPreferenceKey(String key, String suffix) { return key + suffix; diff --git a/android_app/app/src/main/java/com/health/openscale/gui/views/MuscleMeasurementView.java b/android_app/app/src/main/java/com/health/openscale/gui/views/MuscleMeasurementView.java index 51fcc02a..3c4c569d 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/views/MuscleMeasurementView.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/views/MuscleMeasurementView.java @@ -26,7 +26,8 @@ import com.health.openscale.core.evaluation.EvaluationResult; import com.health.openscale.core.evaluation.EvaluationSheet; public class MuscleMeasurementView extends FloatMeasurementView { - public static String KEY = "muscle"; + public static final String KEY = "muscle"; + private static final String[] DEPENDENCY = {WeightMeasurementView.KEY}; private boolean percentageEnable; @@ -39,6 +40,11 @@ public class MuscleMeasurementView extends FloatMeasurementView { return KEY; } + @Override + public String[] getDependencyKeys() { + return DEPENDENCY; + } + @Override public void updatePreferences(SharedPreferences preferences) { super.updatePreferences(preferences); diff --git a/android_app/app/src/main/java/com/health/openscale/gui/views/TimeMeasurementView.java b/android_app/app/src/main/java/com/health/openscale/gui/views/TimeMeasurementView.java index 0623f143..95a6bb9d 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/views/TimeMeasurementView.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/views/TimeMeasurementView.java @@ -29,7 +29,8 @@ import java.util.Calendar; import java.util.Date; public class TimeMeasurementView extends MeasurementView { - public static String KEY = "time"; + public static final String KEY = "time"; + private static final String[] DEPENDENCY = {}; private DateFormat timeFormat; private Date time; @@ -44,6 +45,11 @@ public class TimeMeasurementView extends MeasurementView { return KEY; } + @Override + public String[] getDependencyKeys() { + return DEPENDENCY; + } + private void setValue(Date newTime, boolean callListener) { if (!newTime.equals(time)) { time = newTime; diff --git a/android_app/app/src/main/java/com/health/openscale/gui/views/WHRMeasurementView.java b/android_app/app/src/main/java/com/health/openscale/gui/views/WHRMeasurementView.java index 3c06ad93..2c1a26e7 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/views/WHRMeasurementView.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/views/WHRMeasurementView.java @@ -25,7 +25,8 @@ import com.health.openscale.core.evaluation.EvaluationResult; import com.health.openscale.core.evaluation.EvaluationSheet; public class WHRMeasurementView extends FloatMeasurementView { - public static String KEY = "whr"; + public static final String KEY = "whr"; + private static final String[] DEPENDENCY = {HipMeasurementView.KEY, WaistMeasurementView.KEY}; public WHRMeasurementView(Context context) { super(context, context.getResources().getString(R.string.label_whr), ContextCompat.getDrawable(context, R.drawable.ic_whr)); @@ -38,7 +39,7 @@ public class WHRMeasurementView extends FloatMeasurementView { @Override public String[] getDependencyKeys() { - return new String[] {HipMeasurementView.KEY, WaistMeasurementView.KEY}; + return DEPENDENCY; } @Override diff --git a/android_app/app/src/main/java/com/health/openscale/gui/views/WHtRMeasurementView.java b/android_app/app/src/main/java/com/health/openscale/gui/views/WHtRMeasurementView.java index 07242ea6..d3004115 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/views/WHtRMeasurementView.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/views/WHtRMeasurementView.java @@ -25,7 +25,8 @@ import com.health.openscale.core.evaluation.EvaluationResult; import com.health.openscale.core.evaluation.EvaluationSheet; public class WHtRMeasurementView extends FloatMeasurementView { - public static String KEY = "whtr"; + public static final String KEY = "whtr"; + private static final String[] DEPENDENCY = {WaistMeasurementView.KEY}; public WHtRMeasurementView(Context context) { super(context, context.getResources().getString(R.string.label_whtr), ContextCompat.getDrawable(context, R.drawable.ic_whtr)); @@ -38,7 +39,7 @@ public class WHtRMeasurementView extends FloatMeasurementView { @Override public String[] getDependencyKeys() { - return new String[] {WaistMeasurementView.KEY}; + return DEPENDENCY; } @Override diff --git a/android_app/app/src/main/java/com/health/openscale/gui/views/WaistMeasurementView.java b/android_app/app/src/main/java/com/health/openscale/gui/views/WaistMeasurementView.java index 3afca42c..71ad0631 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/views/WaistMeasurementView.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/views/WaistMeasurementView.java @@ -25,7 +25,8 @@ import com.health.openscale.core.evaluation.EvaluationResult; import com.health.openscale.core.evaluation.EvaluationSheet; public class WaistMeasurementView extends FloatMeasurementView { - public static String KEY = "waist"; + public static final String KEY = "waist"; + private static final String[] DEPENDENCY = {}; public WaistMeasurementView(Context context) { super(context, context.getResources().getString(R.string.label_waist), ContextCompat.getDrawable(context, R.drawable.ic_waist)); @@ -36,6 +37,11 @@ public class WaistMeasurementView extends FloatMeasurementView { return KEY; } + @Override + public String[] getDependencyKeys() { + return DEPENDENCY; + } + @Override protected float getMeasurementValue(ScaleMeasurement measurement) { return measurement.getWaist(); diff --git a/android_app/app/src/main/java/com/health/openscale/gui/views/WaterMeasurementView.java b/android_app/app/src/main/java/com/health/openscale/gui/views/WaterMeasurementView.java index 42271af2..23bf2eaf 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/views/WaterMeasurementView.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/views/WaterMeasurementView.java @@ -26,7 +26,8 @@ import com.health.openscale.core.evaluation.EvaluationResult; import com.health.openscale.core.evaluation.EvaluationSheet; public class WaterMeasurementView extends FloatMeasurementView { - public static String KEY = "water"; + public static final String KEY = "water"; + private static final String[] DEPENDENCY = {WeightMeasurementView.KEY}; private boolean estimateWaterEnable; private boolean percentageEnable; @@ -40,6 +41,11 @@ public class WaterMeasurementView extends FloatMeasurementView { return KEY; } + @Override + public String[] getDependencyKeys() { + return DEPENDENCY; + } + @Override public void updatePreferences(SharedPreferences preferences) { super.updatePreferences(preferences); diff --git a/android_app/app/src/main/java/com/health/openscale/gui/views/WeightMeasurementView.java b/android_app/app/src/main/java/com/health/openscale/gui/views/WeightMeasurementView.java index 75cbfc97..8db773ef 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/views/WeightMeasurementView.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/views/WeightMeasurementView.java @@ -26,7 +26,8 @@ import com.health.openscale.core.evaluation.EvaluationSheet; import com.health.openscale.core.utils.Converters; public class WeightMeasurementView extends FloatMeasurementView { - public static String KEY = "weight"; + public static final String KEY = "weight"; + private static final String[] DEPENDENCY = {}; public WeightMeasurementView(Context context) { super(context, context.getResources().getString(R.string.label_weight), ContextCompat.getDrawable(context, R.drawable.ic_weight)); @@ -37,6 +38,11 @@ public class WeightMeasurementView extends FloatMeasurementView { return KEY; } + @Override + public String[] getDependencyKeys() { + return DEPENDENCY; + } + @Override protected float getMeasurementValue(ScaleMeasurement measurement) { return measurement.getConvertedWeight(getScaleUser().getScaleUnit());