fix order in history view

pull/77/merge^2
Denis 10 years ago
parent 0d5335693b
commit 71dbb3b69f

@ -40,6 +40,7 @@ import org.isoron.uhabits.tasks.ToggleRepetitionTask;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Calendar; import java.util.Calendar;
import java.util.GregorianCalendar; import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.Random; import java.util.Random;
public class HabitHistoryView extends ScrollableDataView implements HabitDataView, public class HabitHistoryView extends ScrollableDataView implements HabitDataView,
@ -58,6 +59,8 @@ public class HabitHistoryView extends ScrollableDataView implements HabitDataVie
private int nColumns; private int nColumns;
private String wdays[]; private String wdays[];
private Integer[] localeWeekdayList;
private HashMap<Integer, Integer> number2wdays;
private SimpleDateFormat dfMonth; private SimpleDateFormat dfMonth;
private SimpleDateFormat dfYear; private SimpleDateFormat dfYear;
@ -102,6 +105,17 @@ public class HabitHistoryView extends ScrollableDataView implements HabitDataVie
dfMonth = DateHelper.getDateFormat("MMM"); dfMonth = DateHelper.getDateFormat("MMM");
dfYear = DateHelper.getDateFormat("yyyy"); dfYear = DateHelper.getDateFormat("yyyy");
/**
* here we create the mapping of week days numbers into the "wdays"-indices
* @see DateHelper#getDayNames(int)
*/
localeWeekdayList = DateHelper.getLocaleWeekdayList();
number2wdays = new HashMap<>();
for (Integer number : localeWeekdayList) {
int wdaysIndex = number % 7;
number2wdays.put(number, wdaysIndex);
}
baseLocation = new RectF(); baseLocation = new RectF();
} }
@ -298,10 +312,10 @@ public class HabitHistoryView extends ScrollableDataView implements HabitDataVie
private void drawAxis(Canvas canvas, RectF location) private void drawAxis(Canvas canvas, RectF location)
{ {
for (int i = 0; i < 7; i++) for (Integer dayNumber : localeWeekdayList)
{ {
location.offset(0, columnWidth); location.offset(0, columnWidth);
canvas.drawText(wdays[i], location.left + headerTextOffset, canvas.drawText(wdays[number2wdays.get(dayNumber)], location.left + headerTextOffset,
location.bottom - headerTextOffset, pTextHeader); location.bottom - headerTextOffset, pTextHeader);
} }
} }

Loading…
Cancel
Save