1
0
mirror of https://github.com/oliexdev/openScale.git synced 2025-08-23 08:43:15 +02:00

graph lines are not disappear anymore

This commit is contained in:
OliE
2015-01-04 17:14:07 +01:00
parent a15146209f
commit 3278b6c16c

View File

@@ -62,7 +62,8 @@ public class GraphFragment extends Fragment implements FragmentUpdateListener {
private OpenScale openScale; private OpenScale openScale;
private Calendar yearCal; private Calendar calYears;
private Calendar calLastSelected;
private ArrayList<ScaleData> scaleDataList; private ArrayList<ScaleData> scaleDataList;
@@ -70,7 +71,8 @@ public class GraphFragment extends Fragment implements FragmentUpdateListener {
private ArrayList<lines> activeLines; private ArrayList<lines> activeLines;
public GraphFragment() { public GraphFragment() {
yearCal = Calendar.getInstance(); calYears = Calendar.getInstance();
calLastSelected = Calendar.getInstance();
} }
@Override @Override
@@ -85,20 +87,20 @@ public class GraphFragment extends Fragment implements FragmentUpdateListener {
chartBottom.setOnValueTouchListener(new ChartBottomValueTouchListener()); chartBottom.setOnValueTouchListener(new ChartBottomValueTouchListener());
txtYear = (TextView) graphView.findViewById(R.id.txtYear); txtYear = (TextView) graphView.findViewById(R.id.txtYear);
txtYear.setText(Integer.toString(yearCal.get(Calendar.YEAR))); txtYear.setText(Integer.toString(calYears.get(Calendar.YEAR)));
graphView.findViewById(R.id.btnLeftYear).setOnClickListener(new View.OnClickListener() { graphView.findViewById(R.id.btnLeftYear).setOnClickListener(new View.OnClickListener() {
public void onClick(View view) { public void onClick(View view) {
yearCal.roll(Calendar.YEAR, false); calYears.roll(Calendar.YEAR, false);
txtYear.setText(Integer.toString(yearCal.get(Calendar.YEAR))); txtYear.setText(Integer.toString(calYears.get(Calendar.YEAR)));
updateOnView(null); updateOnView(null);
} }
}); });
graphView.findViewById(R.id.btnRightYear).setOnClickListener(new View.OnClickListener() { graphView.findViewById(R.id.btnRightYear).setOnClickListener(new View.OnClickListener() {
public void onClick(View view) { public void onClick(View view) {
yearCal.roll(Calendar.YEAR, true); calYears.roll(Calendar.YEAR, true);
txtYear.setText(Integer.toString(yearCal.get(Calendar.YEAR))); txtYear.setText(Integer.toString(calYears.get(Calendar.YEAR)));
updateOnView(null); updateOnView(null);
} }
}); });
@@ -115,24 +117,26 @@ public class GraphFragment extends Fragment implements FragmentUpdateListener {
generateColumnData(); generateColumnData();
} }
private void generateLineData(Calendar cal) private void generateLineData(Calendar calMonth)
{ {
scaleDataList = openScale.getScaleDataOfMonth(yearCal.get(Calendar.YEAR), cal.get(Calendar.MONTH)); scaleDataList = openScale.getScaleDataOfMonth(calYears.get(Calendar.YEAR), calMonth.get(Calendar.MONTH));
float maxValue = openScale.getMaxValueOfScaleData(yearCal.get(Calendar.YEAR), cal.get(Calendar.MONTH)); float maxValue = openScale.getMaxValueOfScaleData(calYears.get(Calendar.YEAR), calMonth.get(Calendar.MONTH));
SimpleDateFormat day_date = new SimpleDateFormat("dd", Locale.getDefault()); SimpleDateFormat day_date = new SimpleDateFormat("dd", Locale.getDefault());
cal.set(Calendar.DAY_OF_MONTH, 1); Calendar calDays = (Calendar)calMonth.clone();
int maxDays = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
calDays.set(Calendar.DAY_OF_MONTH, 1);
int maxDays = calDays.getActualMaximum(Calendar.DAY_OF_MONTH);
List<AxisValue> axisValues = new ArrayList<AxisValue>(); List<AxisValue> axisValues = new ArrayList<AxisValue>();
for (int i=0; i<maxDays; i++) { for (int i=0; i<maxDays; i++) {
String day_name = day_date.format(cal.getTime()); String day_name = day_date.format(calDays.getTime());
axisValues.add(new AxisValue(i, day_name.toCharArray())); axisValues.add(new AxisValue(i, day_name.toCharArray()));
cal.add(Calendar.DAY_OF_MONTH, 1); calDays.add(Calendar.DAY_OF_MONTH, 1);
} }
List<PointValue> valuesWeight = new ArrayList<PointValue>(); List<PointValue> valuesWeight = new ArrayList<PointValue>();
@@ -229,10 +233,10 @@ public class GraphFragment extends Fragment implements FragmentUpdateListener {
private void generateColumnData() private void generateColumnData()
{ {
int[] numOfMonth = openScale.getCountsOfMonth(yearCal.get(Calendar.YEAR)); int[] numOfMonth = openScale.getCountsOfMonth(calYears.get(Calendar.YEAR));
Calendar cal = Calendar.getInstance(); Calendar calMonths = Calendar.getInstance();
cal.set(Calendar.MONTH, Calendar.JANUARY); calMonths.set(Calendar.MONTH, Calendar.JANUARY);
SimpleDateFormat month_date = new SimpleDateFormat("MMM", Locale.getDefault()); SimpleDateFormat month_date = new SimpleDateFormat("MMM", Locale.getDefault());
@@ -240,7 +244,7 @@ public class GraphFragment extends Fragment implements FragmentUpdateListener {
List<Column> columns = new ArrayList<Column>(); List<Column> columns = new ArrayList<Column>();
for (int i=0; i<12; i++) { for (int i=0; i<12; i++) {
String month_name = month_date.format(cal.getTime()); String month_name = month_date.format(calMonths.getTime());
axisValues.add(new AxisValue(i, month_name.toCharArray())); axisValues.add(new AxisValue(i, month_name.toCharArray()));
List<ColumnValue> values = new ArrayList<ColumnValue>(); List<ColumnValue> values = new ArrayList<ColumnValue>();
@@ -248,7 +252,7 @@ public class GraphFragment extends Fragment implements FragmentUpdateListener {
columns.add(new Column(values).setHasLabelsOnlyForSelected(true)); columns.add(new Column(values).setHasLabelsOnlyForSelected(true));
cal.add(Calendar.MONTH, 1); calMonths.add(Calendar.MONTH, 1);
} }
ColumnChartData columnData = new ColumnChartData(columns); ColumnChartData columnData = new ColumnChartData(columns);
@@ -259,7 +263,7 @@ public class GraphFragment extends Fragment implements FragmentUpdateListener {
chartBottom.setValueSelectionEnabled(true); chartBottom.setValueSelectionEnabled(true);
chartBottom.setZoomEnabled(false); chartBottom.setZoomEnabled(false);
generateLineData(cal); generateLineData(calLastSelected);
} }
private class ChartBottomValueTouchListener implements ColumnChartView.ColumnChartOnValueTouchListener { private class ChartBottomValueTouchListener implements ColumnChartView.ColumnChartOnValueTouchListener {
@@ -269,6 +273,8 @@ public class GraphFragment extends Fragment implements FragmentUpdateListener {
cal.set(Calendar.MONTH, Calendar.JANUARY); cal.set(Calendar.MONTH, Calendar.JANUARY);
cal.add(Calendar.MONTH, selectedLine); cal.add(Calendar.MONTH, selectedLine);
calLastSelected = cal;
generateLineData(cal); generateLineData(cal);
} }