diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/HistoryChart.java b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/HistoryChart.java
index e8e3308fd..30e6b1731 100644
--- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/HistoryChart.java
+++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/HistoryChart.java
@@ -29,6 +29,7 @@ import android.view.*;
import org.isoron.androidbase.utils.*;
import org.isoron.uhabits.*;
import org.isoron.uhabits.core.models.*;
+import org.isoron.uhabits.core.preferences.Preferences;
import org.isoron.uhabits.core.utils.*;
import org.isoron.uhabits.utils.*;
@@ -96,6 +97,8 @@ public class HistoryChart extends ScrollableChart
@NonNull
private Controller controller;
+ private int weekFirstDay;
+
public HistoryChart(Context context)
{
super(context);
@@ -392,6 +395,14 @@ public class HistoryChart extends ScrollableChart
initPaints();
initDateFormats();
initRects();
+ initWeekFirstDay();
+
+ }
+
+ private void initWeekFirstDay() {
+ HabitsApplication app = (HabitsApplication) getContext().getApplicationContext();
+ Preferences prefs = app.getComponent().getPreferences();
+ weekFirstDay = prefs.getWeekFirstDay();
}
private void initColors()
@@ -458,8 +469,10 @@ public class HistoryChart extends ScrollableChart
private void updateDate()
{
+
+
baseDate = DateUtils.getStartOfTodayCalendar();
- baseDate.setFirstDayOfWeek(Calendar.SATURDAY);
+ baseDate.setFirstDayOfWeek(weekFirstDay);
baseDate.add(Calendar.DAY_OF_YEAR, -(getDataOffset() - 1) * 7);
nDays = (nColumns - 1) * 7;
diff --git a/uhabits-android/src/main/res/values/constants.xml b/uhabits-android/src/main/res/values/constants.xml
index 94ae54340..df6db38c2 100644
--- a/uhabits-android/src/main/res/values/constants.xml
+++ b/uhabits-android/src/main/res/values/constants.xml
@@ -47,6 +47,26 @@
- 1440
+
+ - Sunday
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
+
+
+
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+
+
- @string/every_day
- @string/every_week
@@ -94,5 +114,6 @@
15
+ 7
100
\ No newline at end of file
diff --git a/uhabits-android/src/main/res/values/strings.xml b/uhabits-android/src/main/res/values/strings.xml
index 3ea1d2f76..28aa53ff9 100644
--- a/uhabits-android/src/main/res/values/strings.xml
+++ b/uhabits-android/src/main/res/values/strings.xml
@@ -86,6 +86,7 @@
Toggle with short press
Put checkmarks with a single tap instead of press-and-hold. More convenient, but might cause accidental toggles.
Snooze interval on reminders
+ First day of week
Rate this app on Google Play
Send feedback to developer
View source code at GitHub
@@ -95,6 +96,7 @@
Name
Settings
Snooze interval
+ First day of week
Did you know?
To rearrange the entries, press-and-hold on the name of the habit, then drag it to the correct place.
diff --git a/uhabits-android/src/main/res/xml/preferences.xml b/uhabits-android/src/main/res/xml/preferences.xml
index 344da2801..05bb9a6a1 100644
--- a/uhabits-android/src/main/res/xml/preferences.xml
+++ b/uhabits-android/src/main/res/xml/preferences.xml
@@ -100,6 +100,20 @@
+
+
+
+
+
+
diff --git a/uhabits-core/src/main/java/org/isoron/uhabits/core/preferences/Preferences.java b/uhabits-core/src/main/java/org/isoron/uhabits/core/preferences/Preferences.java
index c1768c786..7c182dc36 100644
--- a/uhabits-core/src/main/java/org/isoron/uhabits/core/preferences/Preferences.java
+++ b/uhabits-core/src/main/java/org/isoron/uhabits/core/preferences/Preferences.java
@@ -145,6 +145,11 @@ public class Preferences
return Long.parseLong(storage.getString("pref_snooze_interval", "15"));
}
+ public int getWeekFirstDay()
+ {
+ return Integer.parseInt(storage.getString("pref_week_start", "7"));
+ }
+
public String getSyncAddress()
{
return storage.getString("pref_sync_address", DEFAULT_SYNC_SERVER);