1
0
mirror of https://github.com/oliexdev/openScale.git synced 2025-08-21 16:02:04 +02:00

Store empty values for measurements that aren't enabled

This commit is contained in:
Erik Johansson
2018-03-23 19:47:29 +01:00
parent ebe2d6dfa0
commit 78a266bb82
6 changed files with 30 additions and 0 deletions

View File

@@ -302,6 +302,15 @@ public class DataEntryActivity extends AppCompatActivity {
} }
isDirty = true; isDirty = true;
// Measurements that aren't visible should not store any value. Since we use values from
// the previous measurement there might be values for entries not shown. The loop below
// clears these values.
for (MeasurementView measurement : dataEntryMeasurements) {
if (!measurement.isVisible()) {
measurement.clearIn(scaleMeasurement);
}
}
} }
for (MeasurementView measurement : dataEntryMeasurements) { for (MeasurementView measurement : dataEntryMeasurements) {

View File

@@ -62,6 +62,11 @@ public class CommentMeasurementView extends MeasurementView {
measurement.setComment(comment); measurement.setComment(comment);
} }
@Override
public void clearIn(ScaleMeasurement measurement) {
measurement.setComment("");
}
@Override @Override
public void restoreState(Bundle state) { public void restoreState(Bundle state) {
setValue(state.getString(getKey()), true); setValue(state.getString(getKey()), true);

View File

@@ -77,6 +77,11 @@ public class DateMeasurementView extends MeasurementView {
measurement.setDateTime(target.getTime()); measurement.setDateTime(target.getTime());
} }
@Override
public void clearIn(ScaleMeasurement measurement) {
// Ignore
}
@Override @Override
public void restoreState(Bundle state) { public void restoreState(Bundle state) {
setValue(new Date(state.getLong(getKey())), true); setValue(new Date(state.getLong(getKey())), true);

View File

@@ -322,6 +322,11 @@ public abstract class FloatMeasurementView extends MeasurementView {
} }
} }
@Override
public void clearIn(ScaleMeasurement measurement) {
setMeasurementValue(0.0f, measurement);
}
@Override @Override
public void restoreState(Bundle state) { public void restoreState(Bundle state) {
setValue(state.getFloat(getKey()), previousValue, true); setValue(state.getFloat(getKey()), previousValue, true);

View File

@@ -259,6 +259,7 @@ public abstract class MeasurementView extends TableLayout {
public abstract void loadFrom(ScaleMeasurement measurement, ScaleMeasurement previousMeasurement); public abstract void loadFrom(ScaleMeasurement measurement, ScaleMeasurement previousMeasurement);
public abstract void saveTo(ScaleMeasurement measurement); public abstract void saveTo(ScaleMeasurement measurement);
public abstract void clearIn(ScaleMeasurement measurement);
public abstract void restoreState(Bundle state); public abstract void restoreState(Bundle state);
public abstract void saveState(Bundle state); public abstract void saveState(Bundle state);

View File

@@ -80,6 +80,11 @@ public class TimeMeasurementView extends MeasurementView {
measurement.setDateTime(target.getTime()); measurement.setDateTime(target.getTime());
} }
@Override
public void clearIn(ScaleMeasurement measurement) {
// Ignore
}
@Override @Override
public void restoreState(Bundle state) { public void restoreState(Bundle state) {
setValue(new Date(state.getLong(getKey())), true); setValue(new Date(state.getLong(getKey())), true);