added preference first day of week, need to implement in DateUtils

pull/349/head
Name 8 years ago
parent 411fe3c794
commit 7f6d4507e7

@ -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;

@ -47,6 +47,26 @@
<item>1440</item>
</string-array>
<string-array name="days_names">
<item>Sunday</item>
<item>Monday</item>
<item>Tuesday</item>
<item>Wednesday</item>
<item>Thursday</item>
<item>Friday</item>
<item>Saturday</item>
</string-array>
<string-array name="days_values" translatable="false">
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
</string-array>
<string-array name="frequencyQuickSelect" translatable="false">
<item>@string/every_day</item>
<item>@string/every_week</item>
@ -94,5 +114,6 @@
</string-array>
<string name="snooze_interval_default" translatable="false">15</string>
<string name="week_start_default" translatable="false">7</string>
<string name="default_count" translatable="false">100</string>
</resources>

@ -86,6 +86,7 @@
<string name="pref_toggle_title">Toggle with short press</string>
<string name="pref_toggle_description">Put checkmarks with a single tap instead of press-and-hold. More convenient, but might cause accidental toggles.</string>
<string name="pref_snooze_interval_title">Snooze interval on reminders</string>
<string name="pref_week_start_title">First day of week</string>
<string name="pref_rate_this_app">Rate this app on Google Play</string>
<string name="pref_send_feedback">Send feedback to developer</string>
<string name="pref_view_source_code">View source code at GitHub</string>
@ -95,6 +96,7 @@
<string name="name">Name</string>
<string name="settings">Settings</string>
<string name="snooze_interval">Snooze interval</string>
<string name="week_start">First day of week</string>
<string name="hint_title">Did you know?</string>
<string name="hint_drag">To rearrange the entries, press-and-hold on the name of the habit, then drag it to the correct place.</string>

@ -100,6 +100,20 @@
</PreferenceCategory>
<PreferenceCategory
android:title="Custom Settings">
<ListPreference
android:defaultValue="@string/week_start_default"
android:dialogTitle="@string/week_start"
android:entries="@array/days_names"
android:entryValues="@array/days_values"
android:key="pref_week_start"
android:summary="%s"
android:title="@string/pref_week_start_title"/>
</PreferenceCategory>
<PreferenceCategory
android:key="pref_key_debug"
android:title="@string/troubleshooting">

@ -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);

Loading…
Cancel
Save