diff --git a/android_app/app/src/main/java/com/health/openscale/gui/OverviewFragment.java b/android_app/app/src/main/java/com/health/openscale/gui/OverviewFragment.java
index bd901b8b..579be708 100644
--- a/android_app/app/src/main/java/com/health/openscale/gui/OverviewFragment.java
+++ b/android_app/app/src/main/java/com/health/openscale/gui/OverviewFragment.java
@@ -457,62 +457,69 @@ public class OverviewFragment extends Fragment implements FragmentUpdateListener
if (scaleDataIterator.hasNext()) {
ScaleData diffScaleData = scaleDataIterator.next();
- double diffWeight = lastScaleData.weight - diffScaleData.weight;
- double diffBMI = currentScaleUser.getBMI(lastScaleData.weight) - currentScaleUser.getBMI(diffScaleData.weight);
- double diffFat = lastScaleData.fat - diffScaleData.fat;
- double diffMuscle = lastScaleData.muscle - diffScaleData.muscle;
- double diffWater = lastScaleData.water - diffScaleData.water;
- double diffWaist = lastScaleData.waist - diffScaleData.waist;
- double diffWHtR = currentScaleUser.getWHtR(lastScaleData.waist) - currentScaleUser.getWHtR(diffScaleData.waist);
- double diffHip = lastScaleData.hip - diffScaleData.hip;
- double diffWHR = currentScaleUser.getWHR(lastScaleData.waist, lastScaleData.hip) - currentScaleUser.getWHR(diffScaleData.waist, diffScaleData.hip);
-
-
- if (diffWeight > 0.0)
- txtLabelWeight.setText(Html.fromHtml(getResources().getString(R.string.label_weight) + "
↗ " + String.format("%.1f ", diffWeight) + ScaleUser.UNIT_STRING[currentScaleUser.scale_unit] + ""));
- else
- txtLabelWeight.setText(Html.fromHtml(getResources().getString(R.string.label_weight) + "
↘ " + String.format("%.1f ", diffWeight) + ScaleUser.UNIT_STRING[currentScaleUser.scale_unit] + ""));
-
-
- if (diffBMI > 0.0)
- txtLabelBMI.setText(Html.fromHtml(getResources().getString(R.string.label_bmi) + "
↗ " + String.format("%.1f", diffBMI) + ""));
- else
- txtLabelBMI.setText(Html.fromHtml(getResources().getString(R.string.label_bmi) + "
↘ " + String.format("%.1f", diffBMI) + ""));
-
- if (diffFat > 0.0)
- txtLabelFat.setText(Html.fromHtml(getResources().getString(R.string.label_fat) + "
↗ " + String.format("%.1f", diffFat) + "%"));
- else
- txtLabelFat.setText(Html.fromHtml(getResources().getString(R.string.label_fat) + "
↘ " + String.format("%.1f", diffFat) + "%"));
-
- if (diffMuscle > 0.0)
- txtLabelMuscle.setText(Html.fromHtml(getResources().getString(R.string.label_muscle) + "
↗ " + String.format("%.1f", diffMuscle) + "%"));
- else
- txtLabelMuscle.setText(Html.fromHtml(getResources().getString(R.string.label_muscle) + "
↘ " + String.format("%.1f", diffMuscle) + "%"));
-
- if (diffWater > 0.0)
- txtLabelWater.setText(Html.fromHtml(getResources().getString(R.string.label_water) + "
↗ " + String.format("%.1f", diffWater) + "%"));
- else
- txtLabelWater.setText(Html.fromHtml(getResources().getString(R.string.label_water) + "
↘ " + String.format("%.1f", diffWater) + "%"));
-
- if (diffWaist > 0.0)
- txtLabelWaist.setText(Html.fromHtml(getResources().getString(R.string.label_waist) + "
↗ " + String.format("%.1f", diffWaist) + "cm"));
- else
- txtLabelWaist.setText(Html.fromHtml(getResources().getString(R.string.label_waist) + "
↘ " + String.format("%.1f", diffWaist) + "cm"));
-
- if (diffWHtR > 0.0)
- txtLabelWHtR.setText(Html.fromHtml(getResources().getString(R.string.label_whtr) + "
↗ " + String.format("%.2f", diffWHtR) + ""));
- else
- txtLabelWHtR.setText(Html.fromHtml(getResources().getString(R.string.label_whtr) + "
↘ " + String.format("%.2f", diffWHtR) + ""));
-
- if (diffHip > 0.0)
- txtLabelHip.setText(Html.fromHtml(getResources().getString(R.string.label_hip) + "
↗ " + String.format("%.1f", diffHip) + "cm"));
- else
- txtLabelHip.setText(Html.fromHtml(getResources().getString(R.string.label_hip) + "
↘ " + String.format("%.1f", diffHip) + "cm"));
-
- if (diffWHR > 0.0)
- txtLabelWHR.setText(Html.fromHtml(getResources().getString(R.string.label_whr) + "
↗ " + String.format("%.2f", diffWHR) + ""));
- else
- txtLabelWHR.setText(Html.fromHtml(getResources().getString(R.string.label_whr) + "
↘ " + String.format("%.2f", diffWHR) + ""));
+ ScaleDiff.setDiff(
+ txtLabelWeight,
+ lastScaleData.weight - diffScaleData.weight,
+ getResources().getString(R.string.label_weight),
+ "%.1f ",
+ ScaleUser.UNIT_STRING[currentScaleUser.scale_unit]
+ );
+ ScaleDiff.setDiff(
+ txtLabelBMI,
+ currentScaleUser.getBMI(lastScaleData.weight) - currentScaleUser.getBMI(diffScaleData.weight),
+ getResources().getString(R.string.label_bmi),
+ "%.1f ",
+ ""
+ );
+ ScaleDiff.setDiff(
+ txtLabelFat,
+ lastScaleData.fat - diffScaleData.fat,
+ getResources().getString(R.string.label_fat),
+ "%.1f ",
+ "%"
+ );
+ ScaleDiff.setDiff(
+ txtLabelMuscle,
+ lastScaleData.muscle - diffScaleData.muscle,
+ getResources().getString(R.string.label_muscle),
+ "%.1f ",
+ "%"
+ );
+ ScaleDiff.setDiff(
+ txtLabelWater,
+ lastScaleData.water - diffScaleData.water,
+ getResources().getString(R.string.label_water),
+ "%.1f ",
+ "%"
+ );
+ ScaleDiff.setDiff(
+ txtLabelWaist,
+ lastScaleData.waist - diffScaleData.waist,
+ getResources().getString(R.string.label_waist),
+ "%.1f ",
+ "cm"
+ );
+ ScaleDiff.setDiff(
+ txtLabelWHtR,
+ currentScaleUser.getWHtR(lastScaleData.waist) - currentScaleUser.getWHtR(diffScaleData.waist),
+ getResources().getString(R.string.label_whtr),
+ "%.2f ",
+ ""
+ );
+ ScaleDiff.setDiff(
+ txtLabelHip,
+ lastScaleData.hip - diffScaleData.hip,
+ getResources().getString(R.string.label_hip),
+ "%.1f ",
+ "cm"
+ );
+ ScaleDiff.setDiff(
+ txtLabelWHR,
+ currentScaleUser.getWHR(lastScaleData.waist, lastScaleData.hip) - currentScaleUser.getWHR(diffScaleData.waist, diffScaleData.hip),
+ getResources().getString(R.string.label_whr),
+ "%.2f ",
+ ""
+ );
}
}
}
diff --git a/android_app/app/src/main/java/com/health/openscale/gui/ScaleDiff.java b/android_app/app/src/main/java/com/health/openscale/gui/ScaleDiff.java
new file mode 100644
index 00000000..6403a4a9
--- /dev/null
+++ b/android_app/app/src/main/java/com/health/openscale/gui/ScaleDiff.java
@@ -0,0 +1,37 @@
+package com.health.openscale.gui;
+
+import android.text.Html;
+import android.widget.TextView;
+
+public class ScaleDiff {
+ private static String SYMBOL_UP = "↗";
+ private static String SYMBOL_DOWN = "↘";
+
+ public static void setDiff(TextView txtLabel,
+ double diff,
+ String labelResource,
+ String format,
+ String unit) {
+
+ String symbol;
+
+ if (diff > 0.0) {
+ symbol = SYMBOL_UP;
+ } else {
+ symbol = SYMBOL_DOWN;
+ }
+
+ txtLabel.setText(
+ Html.fromHtml(
+ labelResource +
+ "
" +
+ symbol +
+ " " +
+ String.format(format, diff) +
+ unit +
+ ""
+ )
+ );
+ }
+}
+