mirror of
https://github.com/oliexdev/openScale.git
synced 2025-08-21 16:02:04 +02:00
Fix problem with labels on overview graph
Make them show up correctly and also refactor the code slightly.
This commit is contained in:
@@ -206,55 +206,50 @@ public class OverviewFragment extends Fragment implements FragmentUpdateListener
|
|||||||
|
|
||||||
|
|
||||||
private void updateLastLineChart(List<ScaleMeasurement> scaleMeasurementList) {
|
private void updateLastLineChart(List<ScaleMeasurement> scaleMeasurementList) {
|
||||||
int max_i = 7;
|
|
||||||
|
|
||||||
if (scaleMeasurementList.size() < 7) {
|
|
||||||
max_i = scaleMeasurementList.size();
|
|
||||||
}
|
|
||||||
|
|
||||||
List<Line> diagramLineList = new ArrayList<>();
|
|
||||||
List<AxisValue> axisValues = new ArrayList<>();
|
|
||||||
|
|
||||||
final Calendar now = Calendar.getInstance();
|
final Calendar now = Calendar.getInstance();
|
||||||
Calendar histCalendar = Calendar.getInstance();
|
Calendar histCalendar = Calendar.getInstance();
|
||||||
|
|
||||||
|
scaleMeasurementLastDays = new ArrayList<>();
|
||||||
|
List<AxisValue> axisValues = new ArrayList<>();
|
||||||
|
|
||||||
|
int max_i = Math.min(7, scaleMeasurementList.size());
|
||||||
|
for (int i = 0; i < max_i; ++i) {
|
||||||
|
ScaleMeasurement measurement = scaleMeasurementList.get(max_i - i - 1);
|
||||||
|
scaleMeasurementLastDays.add(measurement);
|
||||||
|
|
||||||
|
histCalendar.setTime(measurement.getDateTime());
|
||||||
|
int days = DateTimeHelpers.daysBetween(now, histCalendar);
|
||||||
|
String label = getResources().getQuantityString(R.plurals.label_days, Math.abs(days), days);
|
||||||
|
axisValues.add(new AxisValue(i, label.toCharArray()));
|
||||||
|
}
|
||||||
|
|
||||||
|
List<Line> diagramLineList = new ArrayList<>();
|
||||||
|
|
||||||
for (MeasurementView view : measurementViews) {
|
for (MeasurementView view : measurementViews) {
|
||||||
if (view instanceof FloatMeasurementView) {
|
if (!view.isVisible()
|
||||||
FloatMeasurementView measurementView = (FloatMeasurementView) view;
|
|| !prefs.getBoolean(String.valueOf("actionButton" + view.getName()), true)
|
||||||
|
|| view.getName().equals(getString(R.string.label_bmr))
|
||||||
|
|| !(view instanceof FloatMeasurementView)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (measurementView.getName().equals(getString(R.string.label_bmr))) {
|
FloatMeasurementView measurementView = (FloatMeasurementView) view;
|
||||||
continue;
|
Stack<PointValue> valuesStack = new Stack<PointValue>();
|
||||||
}
|
|
||||||
|
|
||||||
Stack<PointValue> valuesStack = new Stack<PointValue>();
|
for (int i = 0; i < max_i; ++i) {
|
||||||
|
ScaleMeasurement measurement = scaleMeasurementList.get(max_i - i - 1);
|
||||||
|
measurementView.loadFrom(measurement, null);
|
||||||
|
|
||||||
scaleMeasurementLastDays = new ArrayList<>();
|
if (measurementView.getValue() != 0.0f) {
|
||||||
|
valuesStack.push(new PointValue(i, measurementView.getValue()));
|
||||||
for (int i=0; i<max_i; i++) {
|
|
||||||
ScaleMeasurement measurement = scaleMeasurementList.get(max_i - i - 1);
|
|
||||||
measurementView.loadFrom(measurement, null);
|
|
||||||
scaleMeasurementLastDays.add(measurement);
|
|
||||||
|
|
||||||
if (measurementView.getValue() != 0.0f) {
|
|
||||||
valuesStack.push(new PointValue(i, measurementView.getValue()));
|
|
||||||
}
|
|
||||||
|
|
||||||
histCalendar.setTime(measurement.getDateTime());
|
|
||||||
int days = DateTimeHelpers.daysBetween(now, histCalendar);
|
|
||||||
String label = getResources().getQuantityString(R.plurals.label_days, Math.abs(days), days);
|
|
||||||
axisValues.add(new AxisValue(i, label.toCharArray()));
|
|
||||||
}
|
|
||||||
|
|
||||||
Line lineaDiagram = new Line(valuesStack).
|
|
||||||
setColor(measurementView.getColor()).
|
|
||||||
setHasLabels(prefs.getBoolean("labelsEnable", true)).
|
|
||||||
setHasPoints(prefs.getBoolean("pointsEnable", true)).
|
|
||||||
setFormatter(new SimpleLineChartValueFormatter(1));
|
|
||||||
|
|
||||||
if (measurementView.isVisible() && prefs.getBoolean(String.valueOf("actionButton" + measurementView.getName()), true)) {
|
|
||||||
diagramLineList.add(lineaDiagram);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
diagramLineList.add(new Line(valuesStack).
|
||||||
|
setColor(measurementView.getColor()).
|
||||||
|
setHasLabels(prefs.getBoolean("labelsEnable", true)).
|
||||||
|
setHasPoints(prefs.getBoolean("pointsEnable", true)).
|
||||||
|
setFormatter(new SimpleLineChartValueFormatter(1)));
|
||||||
}
|
}
|
||||||
|
|
||||||
LineChartData lineData = new LineChartData(diagramLineList);
|
LineChartData lineData = new LineChartData(diagramLineList);
|
||||||
|
Reference in New Issue
Block a user