From 687c0b95ca32a5561b269ea5b7ca2fcaecd4eb9a Mon Sep 17 00:00:00 2001 From: OliE Date: Sat, 29 Apr 2017 13:01:07 +0200 Subject: [PATCH] bug fix calculate BMI always in kg convert kg to st/lb and back on user selections --- .../com/health/openscale/core/OpenScale.java | 98 ++++------- .../openscale/core/alarm/AlarmHandler.java | 2 +- .../bluetooth/BluetoothCustomOpenScale.java | 14 +- .../core/bluetooth/BluetoothMiScale.java | 4 +- .../core/database/ScaleDatabase.java | 58 +++--- .../core/datatypes/ScaleCalculator.java | 37 ---- .../openscale/core/datatypes/ScaleData.java | 166 ++++++++++++++++-- .../health/openscale/gui/MainActivity.java | 1 + .../gui/activities/DataEntryActivity.java | 75 ++++---- .../gui/activities/UserSettingsActivity.java | 6 +- .../gui/fragments/GraphFragment.java | 18 +- .../gui/fragments/OverviewFragment.java | 56 +++--- .../gui/fragments/StatisticsFragment.java | 66 +++---- .../gui/fragments/TableFragment.java | 42 ++--- .../gui/views/BMIMeasurementView.java | 8 +- .../gui/views/CommentMeasurementView.java | 2 +- .../gui/views/DateMeasurementView.java | 2 +- .../gui/views/FatMeasurementView.java | 4 +- .../gui/views/HipMeasurementView.java | 4 +- .../gui/views/MuscleMeasurementView.java | 4 +- .../gui/views/TimeMeasurementView.java | 2 +- .../gui/views/WHRMeasurementView.java | 8 +- .../gui/views/WHtRMeasurementView.java | 8 +- .../gui/views/WaistMeasurementView.java | 4 +- .../gui/views/WaterMeasurementView.java | 4 +- .../gui/views/WeightMeasurementView.java | 4 +- .../app/src/main/res/drawable/weight.png | Bin 1378 -> 976 bytes 27 files changed, 385 insertions(+), 312 deletions(-) delete mode 100644 android_app/app/src/main/java/com/health/openscale/core/datatypes/ScaleCalculator.java diff --git a/android_app/app/src/main/java/com/health/openscale/core/OpenScale.java b/android_app/app/src/main/java/com/health/openscale/core/OpenScale.java index b9ae58f3..a833950d 100644 --- a/android_app/app/src/main/java/com/health/openscale/core/OpenScale.java +++ b/android_app/app/src/main/java/com/health/openscale/core/OpenScale.java @@ -46,6 +46,8 @@ import java.util.ArrayList; import java.util.Map; import java.util.TreeMap; +import static android.R.attr.id; +import static com.health.openscale.R.drawable.weight; import static com.health.openscale.core.bluetooth.BluetoothCommunication.BT_MI_SCALE; import static com.health.openscale.core.bluetooth.BluetoothCommunication.BT_OPEN_SCALE; @@ -67,8 +69,8 @@ public class OpenScale { private ArrayList fragmentList; - private OpenScale(Context con) { - context = con; + private OpenScale(Context context) { + this.context = context; scaleDB = new ScaleDatabase(context); scaleUserDB = new ScaleUserDatabase(context); alarmHandler = new AlarmHandler(); @@ -78,9 +80,9 @@ public class OpenScale { updateScaleData(); } - public static OpenScale getInstance(Context con) { + public static OpenScale getInstance(Context context) { if (instance == null) { - instance = new OpenScale(con); + instance = new OpenScale(context); } return instance; @@ -166,49 +168,28 @@ public class OpenScale { return scaleDB.getDataEntry(id); } - public int addScaleData(ScaleData scaleData) { - return addScaleData(scaleData.user_id, dateTimeFormat.format(scaleData.date_time).toString(), scaleData.weight, scaleData.fat, - scaleData.water, scaleData.muscle, scaleData.waist, scaleData.hip, scaleData.comment); - } - - public int addScaleData(int user_id, String date_time, float weight, float fat, - float water, float muscle, float waist, float hip, String comment) { - ScaleData scaleData = new ScaleData(); + public int addScaleData(ScaleData scaleData) { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); - if (user_id == -1) { + if (scaleData.getUserId() == -1) { if (prefs.getBoolean("smartUserAssign", false)) { - user_id = getSmartUserAssignment(weight, 15.0f); + scaleData.setUserId(getSmartUserAssignment(weight, 15.0f)); } else { - user_id = getSelectedScaleUser().id; + scaleData.setUserId(getSelectedScaleUser().id); } - if (user_id == -1) { + if (scaleData.getUserId() == -1) { return -1; } } - try { - scaleData.user_id = user_id; - scaleData.date_time = dateTimeFormat.parse(date_time); - scaleData.weight = weight; - scaleData.fat = fat; - scaleData.water = water; - scaleData.muscle = muscle; - scaleData.waist = waist; - scaleData.hip = hip; - scaleData.comment = comment; - } catch (ParseException e) { - Log.e("OpenScale", "Can't parse date time string while adding to the database"); - } - if (scaleDB.insertEntry(scaleData)) { alarmHandler.entryChanged(context, scaleData); updateScaleData(); } - return user_id; + return scaleData.getUserId(); } private int getSmartUserAssignment(float weight, float range) { @@ -219,7 +200,7 @@ public class OpenScale { ArrayList scaleUserData = scaleDB.getScaleDataList(scaleUser.get(i).id); if (scaleUserData.size() > 0) { - float lastWeight = scaleUserData.get(0).weight; + float lastWeight = scaleUserData.get(0).getConvertedWeight(getSelectedScaleUser().scale_unit); if ((lastWeight - range) <= weight && (lastWeight + range) >= weight) { inRangeWeights.put(Math.abs(lastWeight - weight), scaleUser.get(i).id); @@ -235,22 +216,7 @@ public class OpenScale { return getSelectedScaleUser().id; } - public void updateScaleData(long id, String date_time, float weight, float fat, float water, float muscle, float waist, float hip, String comment) { - ScaleData scaleData = new ScaleData(); - - try { - scaleData.date_time = dateTimeFormat.parse(date_time); - scaleData.weight = weight; - scaleData.fat = fat; - scaleData.water = water; - scaleData.muscle = muscle; - scaleData.waist = waist; - scaleData.hip = hip; - scaleData.comment = comment; - } catch (ParseException e) { - Log.e("OpenScale", "Can't parse date time string while adding to the database"); - } - + public void updateScaleData(ScaleData scaleData) { scaleDB.updateEntry(id, scaleData); alarmHandler.entryChanged(context, scaleData); @@ -284,16 +250,16 @@ public class OpenScale { ScaleData newScaleData = new ScaleData(); - newScaleData.date_time = dateTimeFormat.parse(csvField[0]); - newScaleData.weight = Float.parseFloat(csvField[1]); - newScaleData.fat = Float.parseFloat(csvField[2]); - newScaleData.water = Float.parseFloat(csvField[3]); - newScaleData.muscle = Float.parseFloat(csvField[4]); - newScaleData.waist = Float.parseFloat(csvField[5]); - newScaleData.hip = Float.parseFloat(csvField[6]); - newScaleData.comment = csvField[7]; + newScaleData.setDateTime(dateTimeFormat.parse(csvField[0])); + newScaleData.setWeight(Float.parseFloat(csvField[1])); + newScaleData.setFat(Float.parseFloat(csvField[2])); + newScaleData.setWater(Float.parseFloat(csvField[3])); + newScaleData.setMuscle(Float.parseFloat(csvField[4])); + newScaleData.setWaist(Float.parseFloat(csvField[5])); + newScaleData.setHip(Float.parseFloat(csvField[6])); + newScaleData.setComment(csvField[7]); - newScaleData.user_id = getSelectedScaleUser().id; + newScaleData.setUserId(getSelectedScaleUser().id); scaleDB.insertEntry(newScaleData); @@ -321,15 +287,15 @@ public class OpenScale { OutputStreamWriter csvWriter = new OutputStreamWriter(outputStream); for (ScaleData scaleData : scaleDataList) { - csvWriter.append(dateTimeFormat.format(scaleData.date_time) + ","); - csvWriter.append(Float.toString(scaleData.weight) + ","); - csvWriter.append(Float.toString(scaleData.fat) + ","); - csvWriter.append(Float.toString(scaleData.water) + ","); - csvWriter.append(Float.toString(scaleData.muscle) + ","); - csvWriter.append(Float.toString(scaleData.waist) + ","); - csvWriter.append(Float.toString(scaleData.hip) + ","); - if (!scaleData.comment.isEmpty()) { - csvWriter.append(scaleData.comment); + csvWriter.append(dateTimeFormat.format(scaleData.getDateTime()) + ","); + csvWriter.append(Float.toString(scaleData.getWeight()) + ","); + csvWriter.append(Float.toString(scaleData.getFat()) + ","); + csvWriter.append(Float.toString(scaleData.getWater()) + ","); + csvWriter.append(Float.toString(scaleData.getMuscle()) + ","); + csvWriter.append(Float.toString(scaleData.getWaist()) + ","); + csvWriter.append(Float.toString(scaleData.getHip()) + ","); + if (!scaleData.getComment().isEmpty()) { + csvWriter.append(scaleData.getComment()); } csvWriter.append("\n"); diff --git a/android_app/app/src/main/java/com/health/openscale/core/alarm/AlarmHandler.java b/android_app/app/src/main/java/com/health/openscale/core/alarm/AlarmHandler.java index 53d61b87..253436c3 100644 --- a/android_app/app/src/main/java/com/health/openscale/core/alarm/AlarmHandler.java +++ b/android_app/app/src/main/java/com/health/openscale/core/alarm/AlarmHandler.java @@ -54,7 +54,7 @@ public class AlarmHandler public void entryChanged(Context context, ScaleData data) { - long dataMillis = data.date_time.getTime(); + long dataMillis = data.getDateTime().getTime(); Calendar dataTimestamp = Calendar.getInstance(); dataTimestamp.setTimeInMillis(dataMillis); diff --git a/android_app/app/src/main/java/com/health/openscale/core/bluetooth/BluetoothCustomOpenScale.java b/android_app/app/src/main/java/com/health/openscale/core/bluetooth/BluetoothCustomOpenScale.java index 2724c514..2a13ca05 100644 --- a/android_app/app/src/main/java/com/health/openscale/core/bluetooth/BluetoothCustomOpenScale.java +++ b/android_app/app/src/main/java/com/health/openscale/core/bluetooth/BluetoothCustomOpenScale.java @@ -212,15 +212,15 @@ public class BluetoothCustomOpenScale extends BluetoothCommunication { int btChecksum = Integer.parseInt(csvField[10]); if (checksum == btChecksum) { - scaleBtData.id = -1; - scaleBtData.user_id = Integer.parseInt(csvField[0]); + scaleBtData.setId(-1); + scaleBtData.setUserId(Integer.parseInt(csvField[0])); String date_string = csvField[1] + "/" + csvField[2] + "/" + csvField[3] + "/" + csvField[4] + "/" + csvField[5]; - scaleBtData.date_time = new SimpleDateFormat("yyyy/MM/dd/HH/mm").parse(date_string); + scaleBtData.setDateTime(new SimpleDateFormat("yyyy/MM/dd/HH/mm").parse(date_string)); - scaleBtData.weight = Float.parseFloat(csvField[6]); - scaleBtData.fat = Float.parseFloat(csvField[7]); - scaleBtData.water = Float.parseFloat(csvField[8]); - scaleBtData.muscle = Float.parseFloat(csvField[9]); + scaleBtData.setWeight(Float.parseFloat(csvField[6])); + scaleBtData.setFat(Float.parseFloat(csvField[7])); + scaleBtData.setWater(Float.parseFloat(csvField[8])); + scaleBtData.setMuscle(Float.parseFloat(csvField[9])); return scaleBtData; } else { diff --git a/android_app/app/src/main/java/com/health/openscale/core/bluetooth/BluetoothMiScale.java b/android_app/app/src/main/java/com/health/openscale/core/bluetooth/BluetoothMiScale.java index 75dfda1d..674ccb82 100644 --- a/android_app/app/src/main/java/com/health/openscale/core/bluetooth/BluetoothMiScale.java +++ b/android_app/app/src/main/java/com/health/openscale/core/bluetooth/BluetoothMiScale.java @@ -160,8 +160,8 @@ public class BluetoothMiScale extends BluetoothCommunication { if (validateDate(date_time, 20)) { ScaleData scaleBtData = new ScaleData(); - scaleBtData.weight = weight; - scaleBtData.date_time = date_time; + scaleBtData.setWeight(weight); + scaleBtData.setDateTime(date_time); callbackBtHandler.obtainMessage(BluetoothCommunication.BT_RETRIEVE_SCALE_DATA, scaleBtData).sendToTarget(); } else { diff --git a/android_app/app/src/main/java/com/health/openscale/core/database/ScaleDatabase.java b/android_app/app/src/main/java/com/health/openscale/core/database/ScaleDatabase.java index 85dac762..9ec12cb4 100644 --- a/android_app/app/src/main/java/com/health/openscale/core/database/ScaleDatabase.java +++ b/android_app/app/src/main/java/com/health/openscale/core/database/ScaleDatabase.java @@ -88,7 +88,7 @@ public class ScaleDatabase extends SQLiteOpenHelper { private SimpleDateFormat formatDateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.US); public ScaleDatabase(Context context) { - super(context, DATABASE_NAME, null, DATABASE_VERSION); + super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override @@ -120,7 +120,7 @@ public class ScaleDatabase extends SQLiteOpenHelper { SQLiteDatabase db = getWritableDatabase(); Cursor cursorScaleDB = db.query(TABLE_NAME, new String[] {COLUMN_NAME_DATE_TIME}, COLUMN_NAME_DATE_TIME + "=? AND " + COLUMN_NAME_USER_ID + "=?", - new String[] {formatDateTime.format(scaleData.date_time), Integer.toString(scaleData.user_id)}, null, null, null); + new String[] {formatDateTime.format(scaleData.getDateTime()), Integer.toString(scaleData.getUserId())}, null, null, null); // we don't want double entries if (cursorScaleDB.getCount() > 0) { @@ -128,15 +128,15 @@ public class ScaleDatabase extends SQLiteOpenHelper { return false; } else { ContentValues values = new ContentValues(); - values.put(COLUMN_NAME_USER_ID, scaleData.user_id); - values.put(COLUMN_NAME_DATE_TIME, formatDateTime.format(scaleData.date_time)); - values.put(COLUMN_NAME_WEIGHT, scaleData.weight); - values.put(COLUMN_NAME_FAT, scaleData.fat); - values.put(COLUMN_NAME_WATER, scaleData.water); - values.put(COLUMN_NAME_MUSCLE, scaleData.muscle); - values.put(COLUMN_NAME_WAIST, scaleData.waist); - values.put(COLUMN_NAME_HIP, scaleData.hip); - values.put(COLUMN_NAME_COMMENT, scaleData.comment); + values.put(COLUMN_NAME_USER_ID, scaleData.getUserId()); + values.put(COLUMN_NAME_DATE_TIME, formatDateTime.format(scaleData.getDateTime())); + values.put(COLUMN_NAME_WEIGHT, scaleData.getWeight()); + values.put(COLUMN_NAME_FAT, scaleData.getFat()); + values.put(COLUMN_NAME_WATER, scaleData.getWater()); + values.put(COLUMN_NAME_MUSCLE, scaleData.getMuscle()); + values.put(COLUMN_NAME_WAIST, scaleData.getWaist()); + values.put(COLUMN_NAME_HIP, scaleData.getHip()); + values.put(COLUMN_NAME_COMMENT, scaleData.getComment()); values.put(COLUMN_NAME_ENABLE, 1); try @@ -158,14 +158,14 @@ public class ScaleDatabase extends SQLiteOpenHelper { public void updateEntry(long id, ScaleData scaleData) { ContentValues values = new ContentValues(); - values.put(COLUMN_NAME_DATE_TIME, formatDateTime.format(scaleData.date_time)); - values.put(COLUMN_NAME_WEIGHT, scaleData.weight); - values.put(COLUMN_NAME_FAT, scaleData.fat); - values.put(COLUMN_NAME_WATER, scaleData.water); - values.put(COLUMN_NAME_MUSCLE, scaleData.muscle); - values.put(COLUMN_NAME_WAIST, scaleData.waist); - values.put(COLUMN_NAME_HIP, scaleData.hip); - values.put(COLUMN_NAME_COMMENT, scaleData.comment); + values.put(COLUMN_NAME_DATE_TIME, formatDateTime.format(scaleData.getDateTime())); + values.put(COLUMN_NAME_WEIGHT, scaleData.getWeight()); + values.put(COLUMN_NAME_FAT, scaleData.getFat()); + values.put(COLUMN_NAME_WATER, scaleData.getWater()); + values.put(COLUMN_NAME_MUSCLE, scaleData.getMuscle()); + values.put(COLUMN_NAME_WAIST, scaleData.getWaist()); + values.put(COLUMN_NAME_HIP, scaleData.getHip()); + values.put(COLUMN_NAME_COMMENT, scaleData.getComment()); values.put(COLUMN_NAME_ENABLE, 1); dbWrite.update(TABLE_NAME, values, COLUMN_NAME_ID + "=" + id, null); @@ -334,18 +334,18 @@ public class ScaleDatabase extends SQLiteOpenHelper { ScaleData scaleData = new ScaleData(); try { - scaleData.id = cur.getLong(cur.getColumnIndexOrThrow(COLUMN_NAME_ID)); - scaleData.user_id = cur.getInt(cur.getColumnIndexOrThrow(COLUMN_NAME_USER_ID)); + scaleData.setId(cur.getLong(cur.getColumnIndexOrThrow(COLUMN_NAME_ID))); + scaleData.setUserId(cur.getInt(cur.getColumnIndexOrThrow(COLUMN_NAME_USER_ID))); String date_time = cur.getString(cur.getColumnIndexOrThrow(COLUMN_NAME_DATE_TIME)); - scaleData.weight = cur.getFloat(cur.getColumnIndexOrThrow(COLUMN_NAME_WEIGHT)); - scaleData.fat = cur.getFloat(cur.getColumnIndexOrThrow(COLUMN_NAME_FAT)); - scaleData.water = cur.getFloat(cur.getColumnIndexOrThrow(COLUMN_NAME_WATER)); - scaleData.muscle = cur.getFloat(cur.getColumnIndexOrThrow(COLUMN_NAME_MUSCLE)); - scaleData.waist = cur.getFloat(cur.getColumnIndexOrThrow(COLUMN_NAME_WAIST)); - scaleData.hip = cur.getFloat(cur.getColumnIndexOrThrow(COLUMN_NAME_HIP)); - scaleData.comment = cur.getString(cur.getColumnIndexOrThrow(COLUMN_NAME_COMMENT)); + scaleData.setWeight(cur.getFloat(cur.getColumnIndexOrThrow(COLUMN_NAME_WEIGHT))); + scaleData.setFat(cur.getFloat(cur.getColumnIndexOrThrow(COLUMN_NAME_FAT))); + scaleData.setWater(cur.getFloat(cur.getColumnIndexOrThrow(COLUMN_NAME_WATER))); + scaleData.setMuscle(cur.getFloat(cur.getColumnIndexOrThrow(COLUMN_NAME_MUSCLE))); + scaleData.setWaist(cur.getFloat(cur.getColumnIndexOrThrow(COLUMN_NAME_WAIST))); + scaleData.setHip(cur.getFloat(cur.getColumnIndexOrThrow(COLUMN_NAME_HIP))); + scaleData.setComment(cur.getString(cur.getColumnIndexOrThrow(COLUMN_NAME_COMMENT))); - scaleData.date_time = formatDateTime.parse(date_time); + scaleData.setDateTime(formatDateTime.parse(date_time)); } catch (ParseException ex) { Log.e("ScaleDatabase", "Can't parse the date time string: " + ex.getMessage()); } diff --git a/android_app/app/src/main/java/com/health/openscale/core/datatypes/ScaleCalculator.java b/android_app/app/src/main/java/com/health/openscale/core/datatypes/ScaleCalculator.java deleted file mode 100644 index 5ac08ec3..00000000 --- a/android_app/app/src/main/java/com/health/openscale/core/datatypes/ScaleCalculator.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.health.openscale.core.datatypes; - -public class ScaleCalculator { - - private float weight; - private float fat; - private float water; - private float muscle; - private float waist; - private float hip; - - public ScaleCalculator(ScaleData scaleData) { - weight = scaleData.weight; - fat = scaleData.fat; - water = scaleData.water; - muscle = scaleData.weight; - waist = scaleData.waist; - hip = scaleData.hip; - } - - public float getBMI(int body_height) { - return weight / ((body_height / 100.0f)*(body_height / 100.0f)); - } - - public float getWHtR(int body_height) { - return waist / (float)body_height; - } - - public float getWHR() { - if (hip == 0) { - return 0; - } - - return waist / hip; - } - -} diff --git a/android_app/app/src/main/java/com/health/openscale/core/datatypes/ScaleData.java b/android_app/app/src/main/java/com/health/openscale/core/datatypes/ScaleData.java index def1183c..3a5ca8fc 100644 --- a/android_app/app/src/main/java/com/health/openscale/core/datatypes/ScaleData.java +++ b/android_app/app/src/main/java/com/health/openscale/core/datatypes/ScaleData.java @@ -16,19 +16,28 @@ package com.health.openscale.core.datatypes; +import android.util.Log; + +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.Date; public class ScaleData { - public long id; - public int user_id; - public Date date_time; - public float weight; - public float fat; - public float water; - public float muscle; - public float waist; - public float hip; - public String comment; + private static float KG_LB = 2.20462f; + private static float KG_ST = 0.157473f; + + private SimpleDateFormat dateTimeFormat = new SimpleDateFormat("dd.MM.yyyy HH:mm"); + + private long id; + private int user_id; + private Date date_time; + private float weight; + private float fat; + private float water; + private float muscle; + private float waist; + private float hip; + private String comment; public ScaleData() { @@ -44,6 +53,143 @@ public class ScaleData { comment = new String(); } + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public int getUserId() { + return user_id; + } + + public void setUserId(int user_id) { + this.user_id = user_id; + } + + public Date getDateTime() { + return date_time; + } + + public void setDateTime(Date date_time) { + this.date_time = date_time; + } + + public void setDateTime(String date_time) { + try { + this.date_time = dateTimeFormat.parse(date_time); + } catch (ParseException e) { + Log.e("OpenScale", "Can't parse date time string while adding to the database"); + } + } + + public float getWeight() { + return weight; + } + + public float getConvertedWeight(int scale_unit) { + float converted_weight = 0.0f; + + switch (ScaleUser.UNIT_STRING[scale_unit]) { + case "kg": + converted_weight = weight; + break; + case "lb": + converted_weight = weight * KG_LB; + break; + case "st": + converted_weight = weight * KG_ST; + break; + } + + return converted_weight; + } + + public void setWeight(float weight) { + this.weight = weight; + + } + + public void setConvertedWeight(float weight, int scale_unit) { + switch (ScaleUser.UNIT_STRING[scale_unit]) { + case "kg": + this.weight = weight; + break; + case "lb": + this.weight = weight / KG_LB; + break; + case "st": + this.weight = weight / KG_ST; + break; + } + } + + public float getFat() { + return fat; + } + + public void setFat(float fat) { + this.fat = fat; + } + + public float getWater() { + return water; + } + + public void setWater(float water) { + this.water = water; + } + + public float getMuscle() { + return muscle; + } + + public void setMuscle(float muscle) { + this.muscle = muscle; + } + + public float getWaist() { + return waist; + } + + public void setWaist(float waist) { + this.waist = waist; + } + + public float getHip() { + return hip; + } + + public void setHip(float hip) { + this.hip = hip; + } + + public String getComment() { + return comment; + } + + public void setComment(String comment) { + this.comment = comment; + } + + public float getBMI(int body_height) { + return weight / ((body_height / 100.0f)*(body_height / 100.0f)); + } + + public float getWHtR(int body_height) { + return waist / (float)body_height ; + } + + public float getWHR() { + if (hip == 0) { + return 0; + } + + return waist / hip; + } + @Override public String toString() { diff --git a/android_app/app/src/main/java/com/health/openscale/gui/MainActivity.java b/android_app/app/src/main/java/com/health/openscale/gui/MainActivity.java index ce6c5cdf..8f725f86 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/MainActivity.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/MainActivity.java @@ -77,6 +77,7 @@ public class MainActivity extends ActionBarActivity implements @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); diff --git a/android_app/app/src/main/java/com/health/openscale/gui/activities/DataEntryActivity.java b/android_app/app/src/main/java/com/health/openscale/gui/activities/DataEntryActivity.java index df6bac79..069c7681 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/activities/DataEntryActivity.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/activities/DataEntryActivity.java @@ -186,7 +186,7 @@ public class DataEntryActivity extends Activity { ScaleData selectedScaleData = openScale.getScaleData(id); - txtDataNr.setText(DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.SHORT).format(selectedScaleData.date_time)); + txtDataNr.setText(DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.SHORT).format(selectedScaleData.getDateTime())); ArrayList scaleDataList = OpenScale.getInstance(context).getScaleDataList(); ListIterator scaleDataIterator = scaleDataList.listIterator(); @@ -196,7 +196,7 @@ public class DataEntryActivity extends Activity { while(scaleDataIterator.hasNext()) { ScaleData scaleData = scaleDataIterator.next(); - if (scaleData.id == id) { + if (scaleData.getId() == id) { if (scaleDataIterator.hasNext()) { lastData = scaleDataIterator.next(); } @@ -214,16 +214,16 @@ public class DataEntryActivity extends Activity { } - if (!OpenScale.getInstance(this).getScaleDataList().isEmpty()) + if (!OpenScale.getInstance(getApplicationContext()).getScaleDataList().isEmpty()) { setViewMode(MeasurementView.MeasurementViewMode.ADD); txtDataNr.setText(DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.SHORT).format(new Date())); - ScaleData lastScaleData = OpenScale.getInstance(this).getScaleDataList().get(0); + ScaleData lastScaleData = OpenScale.getInstance(getApplicationContext()).getScaleDataList().get(0); // show as default last scale data for (MeasurementView measuremt : dataEntryMeasurements) { - lastScaleData.date_time = new Date(); - lastScaleData.comment = ""; + lastScaleData.setDateTime(new Date()); + lastScaleData.setComment(""); measuremt.updateValue(lastScaleData); } } else { @@ -279,21 +279,26 @@ public class DataEntryActivity extends Activity { } private void saveScaleData() { - OpenScale openScale = OpenScale.getInstance(context); + OpenScale openScale = OpenScale.getInstance(getApplicationContext()); - openScale.updateScaleData(id, - dateMeasurement.getValueAsString() + " " + timeMeasurement.getValueAsString(), - weightMeasurement.getValue(), - fatMeasurement.getValue(), - waterMeasurement.getValue(), - muscleMeasurement.getValue(), - waistMeasurement.getValue(), - hipMeasurement.getValue(), - commentMeasurement.getValueAsString()); + ScaleData scaleData = new ScaleData(); + + scaleData.setId(id); + scaleData.setUserId(openScale.getSelectedScaleUser().id); + scaleData.setDateTime(dateMeasurement.getValueAsString() + " " + timeMeasurement.getValueAsString()); + scaleData.setConvertedWeight(weightMeasurement.getValue(), openScale.getSelectedScaleUser().scale_unit); + scaleData.setFat(fatMeasurement.getValue()); + scaleData.setWater(waterMeasurement.getValue()); + scaleData.setMuscle(muscleMeasurement.getValue()); + scaleData.setWaist(waistMeasurement.getValue()); + scaleData.setHip(hipMeasurement.getValue()); + scaleData.setComment(commentMeasurement.getValueAsString()); + + openScale.updateScaleData(scaleData); } private boolean moveLeft() { - ArrayList scaleDataList = OpenScale.getInstance(context).getScaleDataList(); + ArrayList scaleDataList = OpenScale.getInstance(getApplicationContext()).getScaleDataList(); ListIterator scaleDataIterator = scaleDataList.listIterator(); @@ -301,11 +306,11 @@ public class DataEntryActivity extends Activity { { ScaleData scaleData = scaleDataIterator.next(); - if (scaleData.id == id) + if (scaleData.getId() == id) { if (scaleDataIterator.hasNext()) { saveScaleData(); - getIntent().putExtra("id",scaleDataIterator.next().id ); + getIntent().putExtra("id",scaleDataIterator.next().getId() ); updateOnView(); return true; } else { @@ -320,7 +325,7 @@ public class DataEntryActivity extends Activity { private boolean moveRight() { - ArrayList scaleDataList = OpenScale.getInstance(context).getScaleDataList(); + ArrayList scaleDataList = OpenScale.getInstance(getApplicationContext()).getScaleDataList(); ListIterator scaleDataIterator = scaleDataList.listIterator(scaleDataList.size()); @@ -328,11 +333,11 @@ public class DataEntryActivity extends Activity { { ScaleData scaleData = scaleDataIterator.previous(); - if (scaleData.id == id) + if (scaleData.getId() == id) { if (scaleDataIterator.hasPrevious()) { saveScaleData(); - getIntent().putExtra("id", scaleDataIterator.previous().id); + getIntent().putExtra("id", scaleDataIterator.previous().getId()); updateOnView(); return true; } else { @@ -348,7 +353,7 @@ public class DataEntryActivity extends Activity { private class onClickListenerAdd implements View.OnClickListener { @Override public void onClick(View v) { - OpenScale openScale = OpenScale.getInstance(context); + OpenScale openScale = OpenScale.getInstance(getApplicationContext()); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); int selectedUserId = prefs.getInt("selectedUserId", -1); @@ -362,15 +367,19 @@ public class DataEntryActivity extends Activity { infoDialog.show(); } else { - openScale.addScaleData(selectedUserId, - dateMeasurement.getValueAsString() + " " + timeMeasurement.getValueAsString(), - weightMeasurement.getValue(), - fatMeasurement.getValue(), - waterMeasurement.getValue(), - muscleMeasurement.getValue(), - waistMeasurement.getValue(), - hipMeasurement.getValue(), - commentMeasurement.getValueAsString()); + ScaleData scaleData = new ScaleData(); + + scaleData.setUserId(selectedUserId); + scaleData.setDateTime( dateMeasurement.getValueAsString() + " " + timeMeasurement.getValueAsString()); + scaleData.setConvertedWeight(weightMeasurement.getValue(), openScale.getSelectedScaleUser().scale_unit); + scaleData.setFat(fatMeasurement.getValue()); + scaleData.setWater(waterMeasurement.getValue()); + scaleData.setMuscle(muscleMeasurement.getValue()); + scaleData.setWaist(waistMeasurement.getValue()); + scaleData.setHip(hipMeasurement.getValue()); + scaleData.setComment(commentMeasurement.getValueAsString()); + + openScale.addScaleData(scaleData); finish(); } @@ -440,7 +449,7 @@ public class DataEntryActivity extends Activity { boolean hasNext = moveLeft(); - OpenScale.getInstance(context).deleteScaleData(delId); + OpenScale.getInstance(getApplicationContext()).deleteScaleData(delId); Toast.makeText(context, getResources().getString(R.string.info_data_deleted), Toast.LENGTH_SHORT).show(); if (!hasNext) { diff --git a/android_app/app/src/main/java/com/health/openscale/gui/activities/UserSettingsActivity.java b/android_app/app/src/main/java/com/health/openscale/gui/activities/UserSettingsActivity.java index 6c668e15..2fe97e93 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/activities/UserSettingsActivity.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/activities/UserSettingsActivity.java @@ -123,7 +123,7 @@ public class UserSettingsActivity extends Activity { { int id = getIntent().getExtras().getInt("id"); - OpenScale openScale = OpenScale.getInstance(context); + OpenScale openScale = OpenScale.getInstance(getApplicationContext()); ScaleUser scaleUser = openScale.getScaleUser(id); @@ -207,7 +207,7 @@ public class UserSettingsActivity extends Activity { public void onClick(DialogInterface dialog, int id) { int userId = getIntent().getExtras().getInt("id"); - OpenScale openScale = OpenScale.getInstance(context); + OpenScale openScale = OpenScale.getInstance(getApplicationContext()); openScale.clearScaleData(userId); openScale.deleteScaleUser(userId); @@ -246,7 +246,7 @@ public class UserSettingsActivity extends Activity { public void onClick(View v) { if (validateInput()) { - OpenScale openScale = OpenScale.getInstance(context); + OpenScale openScale = OpenScale.getInstance(getApplicationContext()); String name = txtUserName.getText().toString(); int body_height = Integer.valueOf(txtBodyHeight.getText().toString()); diff --git a/android_app/app/src/main/java/com/health/openscale/gui/fragments/GraphFragment.java b/android_app/app/src/main/java/com/health/openscale/gui/fragments/GraphFragment.java index ea3d49f4..cbfa7ad6 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/fragments/GraphFragment.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/fragments/GraphFragment.java @@ -164,7 +164,7 @@ public class GraphFragment extends Fragment implements FragmentUpdateListener { } }); - openScale = OpenScale.getInstance(graphView.getContext()); + openScale = OpenScale.getInstance(getContext()); openScale.registerFragment(this); return graphView; @@ -211,14 +211,14 @@ public class GraphFragment extends Fragment implements FragmentUpdateListener { for(ScaleData scaleEntry: scaleDataList) { - calDB.setTime(scaleEntry.date_time); + calDB.setTime(scaleEntry.getDateTime()); - valuesWeight.add(new PointValue(calDB.get(field)-1, scaleEntry.weight)); - valuesFat.add(new PointValue(calDB.get(field)-1, scaleEntry.fat)); - valuesWater.add(new PointValue(calDB.get(field)-1, scaleEntry.water)); - valuesMuscle.add(new PointValue(calDB.get(field)-1, scaleEntry.muscle)); - valuesWaist.add(new PointValue(calDB.get(field)-1, scaleEntry.waist)); - valuesHip.add(new PointValue(calDB.get(field)-1, scaleEntry.hip)); + valuesWeight.add(new PointValue(calDB.get(field)-1, scaleEntry.getConvertedWeight(openScale.getSelectedScaleUser().scale_unit))); + valuesFat.add(new PointValue(calDB.get(field)-1, scaleEntry.getFat())); + valuesWater.add(new PointValue(calDB.get(field)-1, scaleEntry.getWater())); + valuesMuscle.add(new PointValue(calDB.get(field)-1, scaleEntry.getMuscle())); + valuesWaist.add(new PointValue(calDB.get(field)-1, scaleEntry.getWaist())); + valuesHip.add(new PointValue(calDB.get(field)-1, scaleEntry.getHip())); } @@ -414,7 +414,7 @@ public class GraphFragment extends Fragment implements FragmentUpdateListener { public void onValueSelected(int lineIndex, int pointIndex, PointValue pointValue) { ScaleData scaleData = scaleDataList.get(pointIndex); - long id = scaleData.id; + long id = scaleData.getId(); Intent intent = new Intent(graphView.getContext(), DataEntryActivity.class); intent.putExtra("id", id); diff --git a/android_app/app/src/main/java/com/health/openscale/gui/fragments/OverviewFragment.java b/android_app/app/src/main/java/com/health/openscale/gui/fragments/OverviewFragment.java index 41908b33..da6e4db2 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/fragments/OverviewFragment.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/fragments/OverviewFragment.java @@ -161,7 +161,7 @@ public class OverviewFragment extends Fragment implements FragmentUpdateListener } }); - OpenScale.getInstance(overviewView.getContext()).registerFragment(this); + OpenScale.getInstance(getContext()).registerFragment(this); return overviewView; } @@ -192,7 +192,7 @@ public class OverviewFragment extends Fragment implements FragmentUpdateListener while(scaleDataIterator.hasNext()) { ScaleData scaleData = scaleDataIterator.next(); - if (scaleData.id == lastScaleData.id) { + if (scaleData.getId() == lastScaleData.getId()) { if (scaleDataIterator.hasNext()) { ScaleData diffScaleData = scaleDataIterator.next(); @@ -211,12 +211,12 @@ public class OverviewFragment extends Fragment implements FragmentUpdateListener private void updateUserSelection() { - currentScaleUser = OpenScale.getInstance(overviewView.getContext()).getSelectedScaleUser(); + currentScaleUser = OpenScale.getInstance(getContext()).getSelectedScaleUser(); userSelectedData = null; spinUserAdapter.clear(); - ArrayList scaleUserList = OpenScale.getInstance(overviewView.getContext()).getScaleUserList(); + ArrayList scaleUserList = OpenScale.getInstance(getContext()).getScaleUserList(); int posUser = 0; int pos = 0; @@ -256,7 +256,7 @@ public class OverviewFragment extends Fragment implements FragmentUpdateListener Calendar lastDate = Calendar.getInstance(); if (!scaleDataList.isEmpty()) { - lastDate.setTime(scaleDataList.get(0).date_time); + lastDate.setTime(scaleDataList.get(0).getDateTime()); } scaleDataLastDays = new ArrayList(); @@ -266,19 +266,19 @@ public class OverviewFragment extends Fragment implements FragmentUpdateListener scaleDataLastDays.add(histData); - valuesWeight.add(new PointValue(i, histData.weight)); - valuesFat.add(new PointValue(i, histData.fat)); - valuesWater.add(new PointValue(i, histData.water)); - valuesMuscle.add(new PointValue(i, histData.muscle)); - valuesWaist.add(new PointValue(i, histData.waist)); - valuesHip.add(new PointValue(i, histData.hip)); + valuesWeight.add(new PointValue(i, histData.getConvertedWeight(currentScaleUser.scale_unit))); + valuesFat.add(new PointValue(i, histData.getFat())); + valuesWater.add(new PointValue(i, histData.getWater())); + valuesMuscle.add(new PointValue(i, histData.getMuscle())); + valuesWaist.add(new PointValue(i, histData.getWaist())); + valuesHip.add(new PointValue(i, histData.getHip())); - histDate.setTime(histData.date_time); + histDate.setTime(histData.getDateTime()); long days = 0 - daysBetween(lastDate, histDate); if (days == 0 && !scaleDataList.isEmpty()) { - axisValues.add(new AxisValue(i, DateFormat.getDateInstance(DateFormat.SHORT).format(scaleDataList.get(0).date_time).toCharArray())); + axisValues.add(new AxisValue(i, DateFormat.getDateInstance(DateFormat.SHORT).format(scaleDataList.get(0).getDateTime()).toCharArray())); } else { axisValues.add(new AxisValue(i, String.format("%d " + getResources().getString(R.string.label_days), days).toCharArray())); } @@ -361,32 +361,32 @@ public class OverviewFragment extends Fragment implements FragmentUpdateListener List arcValuesLast = new ArrayList(); - if (lastScaleData.fat == 0) { + if (lastScaleData.getFat() == 0) { arcValuesLast.add(new SliceValue(1, ChartUtils.COLOR_ORANGE)); } else { - arcValuesLast.add(new SliceValue(lastScaleData.fat, ChartUtils.COLOR_ORANGE)); + arcValuesLast.add(new SliceValue(lastScaleData.getFat(), ChartUtils.COLOR_ORANGE)); } - if (lastScaleData.water == 0) { + if (lastScaleData.getWater() == 0) { arcValuesLast.add(new SliceValue(1, ChartUtils.COLOR_BLUE)); } else { - arcValuesLast.add(new SliceValue(lastScaleData.water, ChartUtils.COLOR_BLUE)); + arcValuesLast.add(new SliceValue(lastScaleData.getWater(), ChartUtils.COLOR_BLUE)); } - if (lastScaleData.muscle == 0) { + if (lastScaleData.getMuscle() == 0) { arcValuesLast.add(new SliceValue(1, ChartUtils.COLOR_GREEN)); } else { - arcValuesLast.add(new SliceValue(lastScaleData.muscle, ChartUtils.COLOR_GREEN)); + arcValuesLast.add(new SliceValue(lastScaleData.getMuscle(), ChartUtils.COLOR_GREEN)); } PieChartData pieChartData = new PieChartData(arcValuesLast); pieChartData.setHasLabels(false); pieChartData.setHasCenterCircle(true); - pieChartData.setCenterText1(Float.toString(lastScaleData.weight) + " " + ScaleUser.UNIT_STRING[currentScaleUser.scale_unit]); - pieChartData.setCenterText2(DateFormat.getDateInstance(DateFormat.MEDIUM).format(lastScaleData.date_time)); + pieChartData.setCenterText1(String.format("%.2f %s", lastScaleData.getConvertedWeight(currentScaleUser.scale_unit), ScaleUser.UNIT_STRING[currentScaleUser.scale_unit])); + pieChartData.setCenterText2(DateFormat.getDateInstance(DateFormat.MEDIUM).format(lastScaleData.getDateTime())); if ((getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_XLARGE || @@ -422,17 +422,17 @@ public class OverviewFragment extends Fragment implements FragmentUpdateListener return; } - String date_time = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.SHORT).format(lastScaleData.date_time); + String date_time = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.SHORT).format(lastScaleData.getDateTime()); switch (i) { case 0: - Toast.makeText(getActivity(), getResources().getString(R.string.info_your_fat) + " " + lastScaleData.fat + "% " + getResources().getString(R.string.info_on_date) + " " + date_time, Toast.LENGTH_SHORT).show(); + Toast.makeText(getActivity(), getResources().getString(R.string.info_your_fat) + " " + lastScaleData.getFat() + "% " + getResources().getString(R.string.info_on_date) + " " + date_time, Toast.LENGTH_SHORT).show(); break; case 1: - Toast.makeText(getActivity(), getResources().getString(R.string.info_your_water) + " " + lastScaleData.water + "% " + getResources().getString(R.string.info_on_date) + " " + date_time, Toast.LENGTH_SHORT).show(); + Toast.makeText(getActivity(), getResources().getString(R.string.info_your_water) + " " + lastScaleData.getWater() + "% " + getResources().getString(R.string.info_on_date) + " " + date_time, Toast.LENGTH_SHORT).show(); break; case 2: - Toast.makeText(getActivity(), getResources().getString(R.string.info_your_muscle) + " " + lastScaleData.muscle + "% " + getResources().getString(R.string.info_on_date) + " " + date_time, Toast.LENGTH_SHORT).show(); + Toast.makeText(getActivity(), getResources().getString(R.string.info_your_muscle) + " " + lastScaleData.getMuscle() + "% " + getResources().getString(R.string.info_on_date) + " " + date_time, Toast.LENGTH_SHORT).show(); break; } } @@ -448,7 +448,7 @@ public class OverviewFragment extends Fragment implements FragmentUpdateListener public void onValueSelected(int lineIndex, int pointIndex, PointValue pointValue) { userSelectedData = scaleDataLastDays.get(pointIndex); - updateOnView( OpenScale.getInstance(overviewView.getContext()).getScaleDataList()); + updateOnView( OpenScale.getInstance(getContext()).getScaleDataList()); } @Override @@ -464,13 +464,13 @@ public class OverviewFragment extends Fragment implements FragmentUpdateListener if (parent.getChildCount() > 0) { ((TextView) parent.getChildAt(0)).setTextColor(Color.GRAY); - ArrayList scaleUserList = OpenScale.getInstance(overviewView.getContext()).getScaleUserList(); + ArrayList scaleUserList = OpenScale.getInstance(getContext()).getScaleUserList(); ScaleUser scaleUser = scaleUserList.get(position); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); prefs.edit().putInt("selectedUserId", scaleUser.id).commit(); - OpenScale.getInstance(overviewView.getContext()).updateScaleData(); + OpenScale.getInstance(getContext()).updateScaleData(); } } diff --git a/android_app/app/src/main/java/com/health/openscale/gui/fragments/StatisticsFragment.java b/android_app/app/src/main/java/com/health/openscale/gui/fragments/StatisticsFragment.java index 0e67fb8a..42a3af81 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/fragments/StatisticsFragment.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/fragments/StatisticsFragment.java @@ -28,7 +28,6 @@ import android.widget.TextView; import com.health.openscale.R; import com.health.openscale.core.OpenScale; -import com.health.openscale.core.datatypes.ScaleCalculator; import com.health.openscale.core.datatypes.ScaleData; import com.health.openscale.core.datatypes.ScaleUser; @@ -83,7 +82,7 @@ public class StatisticsFragment extends Fragment implements FragmentUpdateListen txtLabelAvgWeek = (TextView) statisticsView.findViewById(R.id.txtLabelAvgWeek); txtLabelAvgMonth = (TextView) statisticsView.findViewById(R.id.txtLabelAvgMonth); - OpenScale.getInstance(statisticsView.getContext()).registerFragment(this); + OpenScale.getInstance(getContext()).registerFragment(this); return statisticsView; } @@ -100,16 +99,19 @@ public class StatisticsFragment extends Fragment implements FragmentUpdateListen txtTitleStatistics.setText(getResources().getString(R.string.label_title_statistics).toUpperCase()); prefs = PreferenceManager.getDefaultSharedPreferences(statisticsView.getContext()); - currentScaleUser = OpenScale.getInstance(statisticsView.getContext()).getSelectedScaleUser(); + currentScaleUser = OpenScale.getInstance(getContext()).getSelectedScaleUser(); updateStatistics(scaleDataList); updateGoal(scaleDataList); } private void updateGoal(ArrayList scaleDataList) { - txtGoalWeight.setText(currentScaleUser.goal_weight + " " + ScaleUser.UNIT_STRING[currentScaleUser.scale_unit]); + ScaleData goalScaleData = new ScaleData(); + goalScaleData.setConvertedWeight(currentScaleUser.goal_weight, currentScaleUser.scale_unit); - double weight_diff = currentScaleUser.goal_weight - lastScaleData.weight; + txtGoalWeight.setText(goalScaleData.getConvertedWeight(currentScaleUser.scale_unit) + " " + ScaleUser.UNIT_STRING[currentScaleUser.scale_unit]); + + double weight_diff = goalScaleData.getConvertedWeight(currentScaleUser.scale_unit) - lastScaleData.getConvertedWeight(currentScaleUser.scale_unit); txtGoalDiff.setText(String.format("%.1f " + ScaleUser.UNIT_STRING[currentScaleUser.scale_unit], weight_diff)); Calendar goalDate = Calendar.getInstance(); @@ -119,11 +121,11 @@ public class StatisticsFragment extends Fragment implements FragmentUpdateListen long days = daysBetween(curDate, goalDate); txtGoalDayLeft.setText(days + " " + getResources().getString(R.string.label_days)); - ScaleCalculator currentCalculator = new ScaleCalculator(lastScaleData); + lastScaleData.setUserId(currentScaleUser.id); ScaleData goalData = new ScaleData(); - goalData.weight = currentScaleUser.goal_weight; - ScaleCalculator goalCalculator = new ScaleCalculator(goalData); + goalData.setConvertedWeight(currentScaleUser.goal_weight, currentScaleUser.scale_unit); + goalData.setUserId(currentScaleUser.id); txtLabelGoalWeight.setText( Html.fromHtml( @@ -131,7 +133,7 @@ public class StatisticsFragment extends Fragment implements FragmentUpdateListen "
" + getResources().getString(R.string.label_bmi) + ": " + - String.format("%.1f", goalCalculator.getBMI(currentScaleUser.body_height)) + + String.format("%.1f", goalData.getBMI(currentScaleUser.body_height)) + " " ) ); @@ -141,7 +143,7 @@ public class StatisticsFragment extends Fragment implements FragmentUpdateListen "
" + getResources().getString(R.string.label_bmi) + ": " + - String.format("%.1f", currentCalculator.getBMI(currentScaleUser.body_height) - goalCalculator.getBMI(currentScaleUser.body_height)) + + String.format("%.1f", lastScaleData.getBMI(currentScaleUser.body_height) - goalData.getBMI(currentScaleUser.body_height)) + " " ) ); @@ -162,10 +164,10 @@ public class StatisticsFragment extends Fragment implements FragmentUpdateListen Calendar weekPastDate = Calendar.getInstance(); Calendar monthPastDate = Calendar.getInstance(); - weekPastDate.setTime(lastScaleData.date_time); + weekPastDate.setTime(lastScaleData.getDateTime()); weekPastDate.add(Calendar.DATE, -7); - monthPastDate.setTime(lastScaleData.date_time); + monthPastDate.setTime(lastScaleData.getDateTime()); monthPastDate.add(Calendar.DATE, -30); int weekSize = 0; @@ -192,36 +194,34 @@ public class StatisticsFragment extends Fragment implements FragmentUpdateListen for (ScaleData scaleData : scaleDataList) { - histDate.setTime(scaleData.date_time); - - ScaleCalculator calculator = new ScaleCalculator(scaleData); + histDate.setTime(scaleData.getDateTime()); if (weekPastDate.before(histDate)) { weekSize++; - weekAvgWeight += scaleData.weight; - weekAvgBMI += calculator.getBMI(currentScaleUser.body_height); - weekAvgFat += scaleData.fat; - weekAvgWater += scaleData.water; - weekAvgMuscle += scaleData.muscle; - weekAvgWaist += scaleData.waist; - weekAvgHip += scaleData.hip; - weekAvgWHtR += calculator.getWHtR(currentScaleUser.body_height); - weekAvgWHR += calculator.getWHR(); + weekAvgWeight += scaleData.getConvertedWeight(currentScaleUser.scale_unit); + weekAvgBMI += scaleData.getBMI(currentScaleUser.body_height); + weekAvgFat += scaleData.getFat(); + weekAvgWater += scaleData.getWater(); + weekAvgMuscle += scaleData.getMuscle(); + weekAvgWaist += scaleData.getWaist(); + weekAvgHip += scaleData.getHip(); + weekAvgWHtR += scaleData.getWHtR(currentScaleUser.body_height); + weekAvgWHR += scaleData.getWHR(); } if (monthPastDate.before(histDate)) { monthSize++; - monthAvgWeight += scaleData.weight; - monthAvgBMI += calculator.getBMI(currentScaleUser.body_height); - monthAvgFat += scaleData.fat; - monthAvgWater += scaleData.water; - monthAvgMuscle += scaleData.muscle; - monthAvgWaist += scaleData.waist; - monthAvgHip += scaleData.hip; - monthAvgWHtR += calculator.getWHtR(currentScaleUser.body_height); - monthAvgWHR += calculator.getWHR(); + monthAvgWeight += scaleData.getConvertedWeight(currentScaleUser.scale_unit); + monthAvgBMI += scaleData.getBMI(currentScaleUser.body_height); + monthAvgFat += scaleData.getFat(); + monthAvgWater += scaleData.getWater(); + monthAvgMuscle += scaleData.getMuscle(); + monthAvgWaist += scaleData.getWaist(); + monthAvgHip += scaleData.getHip(); + monthAvgWHtR += scaleData.getWHtR(currentScaleUser.body_height); + monthAvgWHR += scaleData.getWHR(); } else { break; } diff --git a/android_app/app/src/main/java/com/health/openscale/gui/fragments/TableFragment.java b/android_app/app/src/main/java/com/health/openscale/gui/fragments/TableFragment.java index 32e4785d..a660254e 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/fragments/TableFragment.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/fragments/TableFragment.java @@ -71,7 +71,7 @@ public class TableFragment extends Fragment implements FragmentUpdateListener { tableView.findViewById(R.id.btnDeleteAll).setOnClickListener(new onClickListenerDeleteAll()); - OpenScale.getInstance(tableView.getContext()).registerFragment(this); + OpenScale.getInstance(getContext()).registerFragment(this); return tableView; } @@ -152,32 +152,32 @@ public class TableFragment extends Fragment implements FragmentUpdateListener { dataRow.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); TextView idView = new TextView(tableView.getContext()); - idView.setText(Long.toString(scaleData.id)); + idView.setText(Long.toString(scaleData.getId())); idView.setVisibility(View.GONE); dataRow.addView(idView); TextView dateTextView = new TextView(tableView.getContext()); if ((getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_XLARGE || (getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_LARGE) { - dateTextView.setText(DateFormat.getDateInstance(DateFormat.MEDIUM).format(scaleData.date_time)); + dateTextView.setText(DateFormat.getDateInstance(DateFormat.MEDIUM).format(scaleData.getDateTime())); } else{ - dateTextView.setText(DateFormat.getDateInstance(DateFormat.SHORT).format(scaleData.date_time)); + dateTextView.setText(DateFormat.getDateInstance(DateFormat.SHORT).format(scaleData.getDateTime())); } dateTextView.setPadding(0, 5, 5, 5); dataRow.addView(dateTextView); TextView timeTextView = new TextView(tableView.getContext()); - timeTextView.setText(new SimpleDateFormat("HH:mm").format(scaleData.date_time)); + timeTextView.setText(new SimpleDateFormat("HH:mm").format(scaleData.getDateTime())); timeTextView.setPadding(0, 5, 5, 5); dataRow.addView(timeTextView); TextView weightView = new TextView(tableView.getContext()); - weightView.setText(Float.toString(scaleData.weight)); + weightView.setText(String.format("%.2f", scaleData.getConvertedWeight(OpenScale.getInstance(getContext()).getSelectedScaleUser().scale_unit))); weightView.setPadding(0, 5, 5, 5); dataRow.addView(weightView); TextView fatView = new TextView(tableView.getContext()); - fatView.setText(Float.toString(scaleData.fat)); + fatView.setText(Float.toString(scaleData.getFat())); fatView.setPadding(0, 5, 5, 5); if(!prefs.getBoolean("fatEnable", true)) { fatView.setVisibility(View.GONE); @@ -185,7 +185,7 @@ public class TableFragment extends Fragment implements FragmentUpdateListener { dataRow.addView(fatView); TextView waterView = new TextView(tableView.getContext()); - waterView.setText(Float.toString(scaleData.water)); + waterView.setText(Float.toString(scaleData.getWater())); waterView.setPadding(0, 5, 5, 5); if(!prefs.getBoolean("waterEnable", true)) { waterView.setVisibility(View.GONE); @@ -193,7 +193,7 @@ public class TableFragment extends Fragment implements FragmentUpdateListener { dataRow.addView(waterView); TextView muscleView = new TextView(tableView.getContext()); - muscleView.setText(Float.toString(scaleData.muscle)); + muscleView.setText(Float.toString(scaleData.getMuscle())); muscleView.setPadding(0, 5, 5, 5); if(!prefs.getBoolean("muscleEnable", true)) { muscleView.setVisibility(View.GONE); @@ -201,7 +201,7 @@ public class TableFragment extends Fragment implements FragmentUpdateListener { dataRow.addView(muscleView); TextView waistView = new TextView(tableView.getContext()); - waistView.setText(Float.toString(scaleData.waist)); + waistView.setText(Float.toString(scaleData.getWaist())); waistView.setPadding(0, 5, 5, 5); if(!prefs.getBoolean("waistEnable", true)) { waistView.setVisibility(View.GONE); @@ -209,7 +209,7 @@ public class TableFragment extends Fragment implements FragmentUpdateListener { dataRow.addView(waistView); TextView hipView = new TextView(tableView.getContext()); - hipView.setText(Float.toString(scaleData.hip)); + hipView.setText(Float.toString(scaleData.getHip())); hipView.setPadding(0, 5, 5, 5); if(!prefs.getBoolean("hipEnable", true)) { hipView.setVisibility(View.GONE); @@ -217,7 +217,7 @@ public class TableFragment extends Fragment implements FragmentUpdateListener { dataRow.addView(hipView); TextView commentView = new TextView(tableView.getContext()); - commentView.setText(scaleData.comment); + commentView.setText(scaleData.getComment()); commentView.setPadding(0, 5, 5, 5); dataRow.addView(commentView); @@ -289,7 +289,7 @@ public class TableFragment extends Fragment implements FragmentUpdateListener { filenameDialog.setTitle(getResources().getString(R.string.info_set_filename) + " /sdcard ..."); final EditText txtFilename = new EditText(tableView.getContext()); - txtFilename.setText("/openScale_data_" + OpenScale.getInstance(tableView.getContext()).getSelectedScaleUser().user_name + ".csv"); + txtFilename.setText("/openScale_data_" + OpenScale.getInstance(getContext()).getSelectedScaleUser().user_name + ".csv"); filenameDialog.setView(txtFilename); @@ -298,7 +298,7 @@ public class TableFragment extends Fragment implements FragmentUpdateListener { boolean isError = false; try { - OpenScale.getInstance(tableView.getContext()).importData(Environment.getExternalStorageDirectory().getPath() + txtFilename.getText().toString()); + OpenScale.getInstance(getContext()).importData(Environment.getExternalStorageDirectory().getPath() + txtFilename.getText().toString()); } catch (IOException e) { Toast.makeText(tableView.getContext(), getResources().getString(R.string.error_importing) + " " + e.getMessage(), Toast.LENGTH_SHORT).show(); isError = true; @@ -306,7 +306,7 @@ public class TableFragment extends Fragment implements FragmentUpdateListener { if (!isError) { Toast.makeText(tableView.getContext(), getResources().getString(R.string.info_data_imported) + " /sdcard" + txtFilename.getText().toString(), Toast.LENGTH_SHORT).show(); - updateOnView(OpenScale.getInstance(tableView.getContext()).getScaleDataList()); + updateOnView(OpenScale.getInstance(getContext()).getScaleDataList()); } } }); @@ -331,7 +331,7 @@ public class TableFragment extends Fragment implements FragmentUpdateListener { filenameDialog.setTitle(getResources().getString(R.string.info_set_filename) + " /sdcard ..."); final EditText txtFilename = new EditText(tableView.getContext()); - txtFilename.setText("/openScale_data_" + OpenScale.getInstance(tableView.getContext()).getSelectedScaleUser().user_name + ".csv"); + txtFilename.setText("/openScale_data_" + OpenScale.getInstance(getContext()).getSelectedScaleUser().user_name + ".csv"); filenameDialog.setView(txtFilename); @@ -340,7 +340,7 @@ public class TableFragment extends Fragment implements FragmentUpdateListener { boolean isError = false; try { - OpenScale.getInstance(tableView.getContext()).exportData(Environment.getExternalStorageDirectory().getPath() + txtFilename.getText().toString()); + OpenScale.getInstance(getContext()).exportData(Environment.getExternalStorageDirectory().getPath() + txtFilename.getText().toString()); } catch (IOException e) { Toast.makeText(tableView.getContext(), getResources().getString(R.string.error_exporting) + " " + e.getMessage(), Toast.LENGTH_SHORT).show(); isError = true; @@ -375,10 +375,10 @@ public class TableFragment extends Fragment implements FragmentUpdateListener { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(tableView.getContext()); int selectedUserId = prefs.getInt("selectedUserId", -1); - OpenScale.getInstance(tableView.getContext()).clearScaleData(selectedUserId); + OpenScale.getInstance(getContext()).clearScaleData(selectedUserId); Toast.makeText(tableView.getContext(), getResources().getString(R.string.info_data_all_deleted), Toast.LENGTH_SHORT).show(); - updateOnView(OpenScale.getInstance(tableView.getContext()).getScaleDataList()); + updateOnView(OpenScale.getInstance(getContext()).getScaleDataList()); } }); @@ -428,10 +428,10 @@ public class TableFragment extends Fragment implements FragmentUpdateListener { } public void deleteMeasurement() { - OpenScale.getInstance(tableView.getContext()).deleteScaleData(row_id); + OpenScale.getInstance(getContext()).deleteScaleData(row_id); Toast.makeText(tableView.getContext(), getResources().getString(R.string.info_data_deleted), Toast.LENGTH_SHORT).show(); - updateOnView(OpenScale.getInstance(tableView.getContext()).getScaleDataList()); + updateOnView(OpenScale.getInstance(getContext()).getScaleDataList()); } } 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 ad524c44..9b39b039 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 @@ -20,7 +20,6 @@ import android.content.SharedPreferences; import android.support.v4.content.ContextCompat; import com.health.openscale.R; -import com.health.openscale.core.datatypes.ScaleCalculator; import com.health.openscale.core.datatypes.ScaleData; import com.health.openscale.core.evaluation.EvaluationResult; import com.health.openscale.core.evaluation.EvaluationSheet; @@ -38,15 +37,12 @@ public class BMIMeasurementView extends MeasurementView { @Override public void updateValue(ScaleData updateData) { - ScaleCalculator updateCalculator = new ScaleCalculator(updateData); - setValueOnView(updateCalculator.getBMI(getScaleUser().body_height)); + setValueOnView(updateData.getBMI(getScaleUser().body_height)); } @Override public void updateDiff(ScaleData updateData, ScaleData lastData) { - ScaleCalculator updateCalculator = new ScaleCalculator(updateData); - ScaleCalculator lastCalculator = new ScaleCalculator(lastData); - setDiffOnView(updateCalculator.getBMI(getScaleUser().body_height), lastCalculator.getBMI(getScaleUser().body_height)); + setDiffOnView(updateData.getBMI(getScaleUser().body_height), lastData.getBMI(getScaleUser().body_height)); } @Override 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 78787051..42d3a7a8 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 @@ -48,7 +48,7 @@ public class CommentMeasurementView extends MeasurementView { @Override public void updateValue(ScaleData updateData) { - setValueOnView(updateData.comment); + setValueOnView(updateData.getComment()); } @Override 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 68159f2a..b90d1cc2 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 @@ -55,7 +55,7 @@ public class DateMeasurementView extends MeasurementView { @Override public void updateValue(ScaleData updateData) { - setValueOnView(dateFormat.format(updateData.date_time)); + setValueOnView(dateFormat.format(updateData.getDateTime())); } @Override 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 c1033c17..52a4ba6b 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 @@ -32,12 +32,12 @@ public class FatMeasurementView extends MeasurementView { @Override public void updateValue(ScaleData updateData) { - setValueOnView(updateData.fat); + setValueOnView(updateData.getFat()); } @Override public void updateDiff(ScaleData updateData, ScaleData lastData) { - setDiffOnView(updateData.fat, lastData.fat); + setDiffOnView(updateData.getFat(), lastData.getFat()); } @Override 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 ddabd96c..12e5a66f 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 @@ -32,12 +32,12 @@ public class HipMeasurementView extends MeasurementView { @Override public void updateValue(ScaleData updateData) { - setValueOnView(updateData.hip); + setValueOnView(updateData.getHip()); } @Override public void updateDiff(ScaleData updateData, ScaleData lastData) { - setDiffOnView(updateData.hip, lastData.hip); + setDiffOnView(updateData.getHip(), lastData.getHip()); } @Override 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 89b54cb5..3ba9c3a6 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 @@ -32,12 +32,12 @@ public class MuscleMeasurementView extends MeasurementView { @Override public void updateValue(ScaleData updateData) { - setValueOnView(updateData.muscle); + setValueOnView(updateData.getMuscle()); } @Override public void updateDiff(ScaleData updateData, ScaleData lastData) { - setDiffOnView(updateData.muscle, lastData.muscle); + setDiffOnView(updateData.getMuscle(), lastData.getMuscle()); } @Override 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 bc68d2c0..66e29654 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 @@ -55,7 +55,7 @@ public class TimeMeasurementView extends MeasurementView { @Override public void updateValue(ScaleData updateData) { - setValueOnView(timeFormat.format(updateData.date_time)); + setValueOnView(timeFormat.format(updateData.getDateTime())); } @Override 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 00b6ce78..a68f24e9 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 @@ -20,7 +20,6 @@ import android.content.SharedPreferences; import android.support.v4.content.ContextCompat; import com.health.openscale.R; -import com.health.openscale.core.datatypes.ScaleCalculator; import com.health.openscale.core.datatypes.ScaleData; import com.health.openscale.core.evaluation.EvaluationResult; import com.health.openscale.core.evaluation.EvaluationSheet; @@ -38,15 +37,12 @@ public class WHRMeasurementView extends MeasurementView { @Override public void updateValue(ScaleData updateData) { - ScaleCalculator updateCalculator = new ScaleCalculator(updateData); - setValueOnView(updateCalculator.getWHR()); + setValueOnView(updateData.getWHR()); } @Override public void updateDiff(ScaleData updateData, ScaleData lastData) { - ScaleCalculator updateCalculator = new ScaleCalculator(updateData); - ScaleCalculator lastCalculator = new ScaleCalculator(lastData); - setDiffOnView(updateCalculator.getWHR(), lastCalculator.getWHR()); + setDiffOnView(updateData.getWHR(), lastData.getWHR()); } @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 d56c493f..b4cd8ee1 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 @@ -20,7 +20,6 @@ import android.content.SharedPreferences; import android.support.v4.content.ContextCompat; import com.health.openscale.R; -import com.health.openscale.core.datatypes.ScaleCalculator; import com.health.openscale.core.datatypes.ScaleData; import com.health.openscale.core.evaluation.EvaluationResult; import com.health.openscale.core.evaluation.EvaluationSheet; @@ -38,15 +37,12 @@ public class WHtRMeasurementView extends MeasurementView { @Override public void updateValue(ScaleData updateData) { - ScaleCalculator updateCalculator = new ScaleCalculator(updateData); - setValueOnView(updateCalculator.getWHtR(getScaleUser().body_height)); + setValueOnView(updateData.getWHtR(getScaleUser().body_height)); } @Override public void updateDiff(ScaleData updateData, ScaleData lastData) { - ScaleCalculator updateCalculator = new ScaleCalculator(updateData); - ScaleCalculator lastCalculator = new ScaleCalculator(lastData); - setDiffOnView(updateCalculator.getWHtR(getScaleUser().body_height), lastCalculator.getWHtR(getScaleUser().body_height)); + setDiffOnView(updateData.getWHtR(getScaleUser().body_height), lastData.getWHtR(getScaleUser().body_height)); } @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 ab2a0507..d6436220 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 @@ -32,12 +32,12 @@ public class WaistMeasurementView extends MeasurementView { @Override public void updateValue(ScaleData updateData) { - setValueOnView(updateData.waist); + setValueOnView(updateData.getWaist()); } @Override public void updateDiff(ScaleData updateData, ScaleData lastData) { - setDiffOnView(updateData.waist, lastData.waist); + setDiffOnView(updateData.getWaist(), lastData.getWaist()); } @Override 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 738fb383..7a1e30ad 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 @@ -32,12 +32,12 @@ public class WaterMeasurementView extends MeasurementView { @Override public void updateValue(ScaleData updateData) { - setValueOnView(updateData.water); + setValueOnView(updateData.getWater()); } @Override public void updateDiff(ScaleData updateData, ScaleData lastData) { - setDiffOnView(updateData.water, lastData.water); + setDiffOnView(updateData.getWater(), lastData.getWater()); } @Override 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 5aad9a01..ca5a1f97 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 @@ -33,7 +33,7 @@ public class WeightMeasurementView extends MeasurementView { @Override public void updateValue(ScaleData updateData) { - setValueOnView(updateData.weight); + setValueOnView(updateData.getConvertedWeight(getScaleUser().scale_unit)); if (getMeasurementMode() == MeasurementViewMode.ADD) { getInputDialog().show(); @@ -42,7 +42,7 @@ public class WeightMeasurementView extends MeasurementView { @Override public void updateDiff(ScaleData updateData, ScaleData lastData) { - setDiffOnView(updateData.weight, lastData.weight); + setDiffOnView(updateData.getConvertedWeight(getScaleUser().scale_unit), lastData.getConvertedWeight(getScaleUser().scale_unit)); } @Override diff --git a/android_app/app/src/main/res/drawable/weight.png b/android_app/app/src/main/res/drawable/weight.png index 0684cf76d05e9db80a8e715c8ebd12a567eca9d5..0c3b5d95f75c14053158a99590ea722159f41e7f 100644 GIT binary patch delta 929 zcmV;S177^%3eX3T87&3?0063Kaozv`00eVFNmK|32nc)#WQYI&010qNS#tmY4c7nw z4c7reD4TeZMJIm)O-V#SRCt{2o4aciQ5431N6<2x$0qoSEI~w!(IT-Cf@L7!pAakz zA{G|;YYaq0v`Z;yo5~bMK}{hd8%Sw1$;zgP7RO@m&OT=L?qqiFOlEdIIFOxl&*6Mu z&V9`0MpTu!AR?o{ohF+zt}Wn0-BfiywxU$kxd8$^1&)6J?P5n}ti)1V4CJSPjS$4! zZ3CD}wE(~(P>n#oZdG8>WsPDA?K?zd0@wz|drY+l+*H+{y;tSO85cn{-e`kM*U+8zeE*8OAi|=)a_*W5gM}i9hZd-hxLd4s~*m6gL3jwMY-^CE|wlTKc zk>Emrvc-2VM7(W`Eq5fi5a5T!w<02?PEO-niI_VY9P9!G>~DQvfti4~8RN6PB^LT! zuakEH5m^HsT88`u-T)uX=UL!BaLy9*TveC*Q(=DtClWwJu25TvuK{N*L$3o5dMnL` zm%ulR{~z!j_^hhCp|gf;>q%gp=&!YL+d44Wmy;lH3#gm|QYW z)pmffUXH?#sI`AuQNq3$ckO^}lK(CCYF{F4gCa5xIQbeX0ZgdsUXa5!1*RPplLR_) z$pwFi5|l#Z0(5fN1i0a#kfhL&OP~Pej~Yd1<;0Jo;p9W74#-mb*Ad7m7vLm=Q;uAK zpof7+VG;QajJmEUX6&o#So=d?2Z+ddvPT|Z)NpG-&=kmG``6*)mJ1MOP=*jnfGiz> z+u`Hp+XX~q9~g_9^w2&9vONFmXyKR(U~^^^xd6={ zT6O^uIRJ*^t|(?4s;alpdmSJmm&iVOfMLTGXq^Is(EfFJTyp`M9%lIn+zyZHz;}SR z3y4Ss7)q+5nDIwd3t&1xL@qNpfG0Hx&WNDL)t2ymQS9f@h- z7#aff{T6l#P=$s7TL~7D6l$ECZiH=;{Ee=-Y}0p95}2npFOn|KwH*WVfj32|{Wo{{ z6cp*o%D|lUo}h>nfXBdHV`;xB@(Xxx?3t=onw|dvoaBdfjqN1I00000NkvXXu0mjf Do@1LD literal 1378 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!n2Vh}LpV4%Za?&Y0OWEOctjR6 zFff8KiJb;?Uw286UoZnB6EiD22M;fwfRM0=sF;M5w2Z8xlB$}9mbQ+* zk*S%vg{6(1y@RW}hqsTfUr1PFRBT*)a!Oi8W>$7iZedYzNohq@U1L*cSO0`blV{Fa zuyDo7RcqI6*tluyj$M2A9XNFO$k7ugPoF)1@#?kfH*Vg!`{3cD$4_6peD&`AhmW5= zfBE|D`;VW$e*gLVZ*$yfVFm`KnVv3=Arg{r5B`q#$z(YG@qACA(xN+N)AXVy$3$<^ z(e6%MJ@-+_JLh$h+2t7%ZhG9xnz8TymgR;|ZI;KafBW*!qxO6G5ntzK?=-M5GOAeE zI(4OFz)=TY?SdT(SX&QU+%{d?@G{mS%2;Rd7lpZX0h0{(u$hae?(s@ei9flcWA>UQ zC#z1qQddna+_X(Y)78~0s8CmLR*FgBMU};z;>S~SmLx6idAuWI>O~LN#XVs$S5CfI zwkX<7)^DEYtjq;#65TEt-$884Oeyx{^P0_Rt*XA9vGhbB`?lz!5^nFSQ)GNY1+T1Iu&?A-zNhoclKbhB%FHX{|Lri-^tN_v=K6GC zx?N6FylU+a-D7h~W9N$+cr=(VRN$|9X|(2lxYS)YSDV!hoc;NICmuDf-yV8F`K7>y z-!=Ki#p8QW%q-Lwiz=^QpdE6AdsF3wJ8T=5PvSdJC+XR< zr-`d@pO@AV=KWuk-%Os;bR>R~+}%4&m64NbuC5l~uer;R=hdI|;qV3%>k!_`$STe5 zy@4I<`>t?&oxkL=L(TU_UWv-cdq-wmUSk0Ci{1rw-#4j_aof_KebG3>93P~8WzTf4 z`gQC=?Db81a%|63uG}EL^UjVX8)Nj$6&HUwf8elY@3W%$Db<}D-38w;?h}K=MSZ%+N!588lhk{(CIxQlQaNqtTEufpzJ5;J!v6l-kzZ|pFf|tFn$6lKco3Ag NJzf1=);T3K0Ra1hv`_#5