From 63fe100596c5753a1c14ba41d011fc991180105c Mon Sep 17 00:00:00 2001 From: Denis Date: Sun, 10 Apr 2016 14:45:53 +0200 Subject: [PATCH] get rid of wdays --- .../isoron/uhabits/helpers/DateHelper.java | 23 +++++++++++++++++++ .../uhabits/views/HabitFrequencyView.java | 7 ++---- .../uhabits/views/HabitHistoryView.java | 8 +++---- 3 files changed, 28 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/org/isoron/uhabits/helpers/DateHelper.java b/app/src/main/java/org/isoron/uhabits/helpers/DateHelper.java index d092a406a..5d6685984 100644 --- a/app/src/main/java/org/isoron/uhabits/helpers/DateHelper.java +++ b/app/src/main/java/org/isoron/uhabits/helpers/DateHelper.java @@ -214,6 +214,29 @@ public class DateHelper } + /** + * + * @return array with weekday names starting according to locale settings, + * e.g. [Mo,Di,Mi,Do,Fr,Sa,So] in Europe + * + */ + public static String[] getLocaleDayNames(int format) + { + String[] days = new String[7]; + + Calendar calendar = new GregorianCalendar(); + calendar.set(GregorianCalendar.DAY_OF_WEEK, calendar.getFirstDayOfWeek()); + for (int i = 0; i < days.length; i++) + { + days[i] = calendar.getDisplayName(GregorianCalendar.DAY_OF_WEEK, format, + Locale.getDefault()); + // advance in time by one day + calendar.add(GregorianCalendar.DAY_OF_MONTH, 1); + } + + return days; + } + /** * * @return array with week days numbers starting according to locale settings, diff --git a/app/src/main/java/org/isoron/uhabits/views/HabitFrequencyView.java b/app/src/main/java/org/isoron/uhabits/views/HabitFrequencyView.java index 2d7750483..ed6823398 100644 --- a/app/src/main/java/org/isoron/uhabits/views/HabitFrequencyView.java +++ b/app/src/main/java/org/isoron/uhabits/views/HabitFrequencyView.java @@ -63,7 +63,6 @@ public class HabitFrequencyView extends ScrollableDataView implements HabitDataV private boolean isBackgroundTransparent; private HashMap frequency; - private String wdays[]; private Integer[] localeWeekdayList; public HabitFrequencyView(Context context) @@ -91,8 +90,6 @@ public class HabitFrequencyView extends ScrollableDataView implements HabitDataV createPaints(); createColors(); - wdays = DateHelper.getShortDayNames(); - localeWeekdayList = DateHelper.getLocaleWeekdayList(); dfMonth = DateHelper.getDateFormat("MMM"); @@ -277,8 +274,8 @@ public class HabitFrequencyView extends ScrollableDataView implements HabitDataV pText.setColor(textColor); pGrid.setColor(dimmedTextColor); - for (Integer dayNumber : localeWeekdayList) { - canvas.drawText(wdays[DateHelper.weekDayNumber2wdays(dayNumber)], rGrid.right - columnWidth, + for (String day : DateHelper.getLocaleDayNames(Calendar.SHORT)) { + canvas.drawText(day, rGrid.right - columnWidth, rGrid.top + rowHeight / 2 + 0.25f * em, pText); pGrid.setStrokeWidth(1f); diff --git a/app/src/main/java/org/isoron/uhabits/views/HabitHistoryView.java b/app/src/main/java/org/isoron/uhabits/views/HabitHistoryView.java index 7a5642d97..05315ef16 100644 --- a/app/src/main/java/org/isoron/uhabits/views/HabitHistoryView.java +++ b/app/src/main/java/org/isoron/uhabits/views/HabitHistoryView.java @@ -58,7 +58,6 @@ public class HabitHistoryView extends ScrollableDataView implements HabitDataVie private float columnHeight; private int nColumns; - private String wdays[]; private SimpleDateFormat dfMonth; private SimpleDateFormat dfYear; @@ -100,7 +99,6 @@ public class HabitHistoryView extends ScrollableDataView implements HabitDataVie isEditable = false; checkmarks = new int[0]; primaryColor = ColorHelper.palette[7]; - wdays = DateHelper.getShortDayNames(); dfMonth = DateHelper.getDateFormat("MMM"); dfYear = DateHelper.getDateFormat("yyyy"); @@ -158,7 +156,7 @@ public class HabitHistoryView extends ScrollableDataView implements HabitDataVie { float width = 0; - for(String w : wdays) + for(String w : DateHelper.getLocaleDayNames(Calendar.SHORT)) width = Math.max(width, pSquareFg.measureText(w)); return width; @@ -301,10 +299,10 @@ public class HabitHistoryView extends ScrollableDataView implements HabitDataVie private void drawAxis(Canvas canvas, RectF location) { - for (Integer dayNumber : DateHelper.getLocaleWeekdayList()) + for (String day : DateHelper.getLocaleDayNames(Calendar.SHORT)) { location.offset(0, columnWidth); - canvas.drawText(wdays[DateHelper.weekDayNumber2wdays(dayNumber)], location.left + headerTextOffset, + canvas.drawText(day, location.left + headerTextOffset, location.bottom - headerTextOffset, pTextHeader); } }