mirror of
https://github.com/oliexdev/openScale.git
synced 2025-08-23 08:43:15 +02:00
Store empty values for measurements that aren't enabled
This commit is contained in:
@@ -302,6 +302,15 @@ public class DataEntryActivity extends AppCompatActivity {
|
||||
}
|
||||
|
||||
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) {
|
||||
|
@@ -62,6 +62,11 @@ public class CommentMeasurementView extends MeasurementView {
|
||||
measurement.setComment(comment);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearIn(ScaleMeasurement measurement) {
|
||||
measurement.setComment("");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void restoreState(Bundle state) {
|
||||
setValue(state.getString(getKey()), true);
|
||||
|
@@ -77,6 +77,11 @@ public class DateMeasurementView extends MeasurementView {
|
||||
measurement.setDateTime(target.getTime());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearIn(ScaleMeasurement measurement) {
|
||||
// Ignore
|
||||
}
|
||||
|
||||
@Override
|
||||
public void restoreState(Bundle state) {
|
||||
setValue(new Date(state.getLong(getKey())), true);
|
||||
|
@@ -322,6 +322,11 @@ public abstract class FloatMeasurementView extends MeasurementView {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearIn(ScaleMeasurement measurement) {
|
||||
setMeasurementValue(0.0f, measurement);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void restoreState(Bundle state) {
|
||||
setValue(state.getFloat(getKey()), previousValue, true);
|
||||
|
@@ -259,6 +259,7 @@ public abstract class MeasurementView extends TableLayout {
|
||||
|
||||
public abstract void loadFrom(ScaleMeasurement measurement, ScaleMeasurement previousMeasurement);
|
||||
public abstract void saveTo(ScaleMeasurement measurement);
|
||||
public abstract void clearIn(ScaleMeasurement measurement);
|
||||
|
||||
public abstract void restoreState(Bundle state);
|
||||
public abstract void saveState(Bundle state);
|
||||
|
@@ -80,6 +80,11 @@ public class TimeMeasurementView extends MeasurementView {
|
||||
measurement.setDateTime(target.getTime());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearIn(ScaleMeasurement measurement) {
|
||||
// Ignore
|
||||
}
|
||||
|
||||
@Override
|
||||
public void restoreState(Bundle state) {
|
||||
setValue(new Date(state.getLong(getKey())), true);
|
||||
|
Reference in New Issue
Block a user