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 477dbef9..aaa6dc88 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 @@ -169,14 +169,19 @@ public class OpenScale { updateScaleData(); } - public void updateScaleData(long id, float weight, float fat, float water, float muscle, String comment) { + public void updateScaleData(long id, String date_time, float weight, float fat, float water, float muscle, String comment) { ScaleData scaleData = new ScaleData(); - scaleData.weight = weight; - scaleData.fat = fat; - scaleData.water = water; - scaleData.muscle = muscle; - scaleData.comment = comment; + try { + scaleData.date_time = dateTimeFormat.parse(date_time); + scaleData.weight = weight; + scaleData.fat = fat; + scaleData.water = water; + scaleData.muscle = muscle; + scaleData.comment = comment; + } catch (ParseException e) { + Log.e("OpenScale", "Can't parse date time string while adding to the database"); + } scaleDB.updateEntry(id, scaleData); diff --git a/android_app/app/src/main/java/com/health/openscale/core/ScaleDatabase.java b/android_app/app/src/main/java/com/health/openscale/core/ScaleDatabase.java index a1e6fd34..1ce2e924 100644 --- a/android_app/app/src/main/java/com/health/openscale/core/ScaleDatabase.java +++ b/android_app/app/src/main/java/com/health/openscale/core/ScaleDatabase.java @@ -132,6 +132,7 @@ public class ScaleDatabase extends SQLiteOpenHelper { SQLiteDatabase db = getWritableDatabase(); 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); diff --git a/android_app/app/src/main/java/com/health/openscale/gui/DataEntryActivity.java b/android_app/app/src/main/java/com/health/openscale/gui/DataEntryActivity.java index 5f63961c..b2581fb9 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/DataEntryActivity.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/DataEntryActivity.java @@ -253,6 +253,23 @@ public class DataEntryActivity extends Activity { return false; } + private void saveScaleData() { + if (validateInput()) { + float weight = Float.valueOf(txtWeight.getText().toString()); + float fat = Float.valueOf(txtFat.getText().toString()); + float water = Float.valueOf(txtWater.getText().toString()); + float muscle = Float.valueOf(txtMuscle.getText().toString()); + String comment = txtComment.getText().toString(); + + String date = txtDate.getText().toString(); + String time = txtTime.getText().toString(); + + OpenScale openScale = OpenScale.getInstance(context); + + openScale.updateScaleData(id, date + " " + time, weight, fat, water, muscle, comment); + } + } + private boolean moveLeft() { ArrayList scaleDataList = OpenScale.getInstance(context).getScaleDataList(); @@ -265,6 +282,7 @@ public class DataEntryActivity extends Activity { if (scaleData.id == id) { if (scaleDataIterator.hasNext()) { + saveScaleData(); getIntent().putExtra("id",scaleDataIterator.next().id ); updateOnView(); return true; @@ -291,6 +309,7 @@ public class DataEntryActivity extends Activity { if (scaleData.id == id) { if (scaleDataIterator.hasPrevious()) { + saveScaleData(); getIntent().putExtra("id", scaleDataIterator.previous().id); updateOnView(); return true; @@ -357,19 +376,8 @@ public class DataEntryActivity extends Activity { private class onClickListenerOk implements View.OnClickListener { @Override public void onClick(View v) { - if (validateInput()) { - float weight = Float.valueOf(txtWeight.getText().toString()); - float fat = Float.valueOf(txtFat.getText().toString()); - float water = Float.valueOf(txtWater.getText().toString()); - float muscle = Float.valueOf(txtMuscle.getText().toString()); - String comment = txtComment.getText().toString(); - - OpenScale openScale = OpenScale.getInstance(context); - - openScale.updateScaleData(id, weight, fat, water, muscle, comment); - - finish(); - } + saveScaleData(); + finish(); } }