package com.evancharlton.mileage.views;
import java.util.Calendar;
import android.os.Bundle;
import com.evancharlton.mileage.calculators.CalculationEngine;
import com.evancharlton.mileage.models.FillUp;
public class FuelAmountChart extends ChartDisplay {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle("Amount of Fuel");
}
@Override
protected void buildChart() {
m_chart.freeze();
CalculationEngine calc = m_prefs.getCalculator();
m_chart.setYAxisLabel(calc.getVolumeUnits());
float[] data = new float[m_fillups.size() * 2];
final int size = m_fillups.size();
int j = 0;
FillUp f;
float total = 0F;
float amount;
float min = Float.MAX_VALUE;
float max = Float.MIN_VALUE;
String min_label = "";
String max_label = "";
for (int i = 0; i < size; i++) {
f = m_fillups.get(i);
data[j++] = (float) i;
amount = (float) f.getAmount();
data[j++] = amount;
total += amount;
if (amount < min) {
min = amount;
Calendar d = f.getDate();
min_label = m_prefs.format(d.getTime());
}
if (amount > max) {
max = amount;
Calendar d = f.getDate();
max_label = m_prefs.format(d.getTime());
}
}
m_chart.setBetterOnBottom(true);
m_chart.setXAxisLabels(min_label, max_label);
m_chart.setYAxisLabels(m_format.format(min) + calc.getVolumeUnitsAbbr(), m_format.format(max) + calc.getVolumeUnitsAbbr());
float avg = (total / m_fillups.size());
m_chart.setAverageLabel(m_format.format(avg) + calc.getVolumeUnitsAbbr());
m_chart.setDataPoints(data);
m_chart.thaw();
}
}