mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-05-20 12:49:02 +00:00
Feature: Add sensible default for first day of the using locale
This commits adds a default for the first day of the week setting. This is better than arbitrarily choosing a first day of the week. In addition, it reorders the days in the dailies screen with the first day in the list being the day the user chose in the setting. Issue: #546, Pull Request: #620
This commit is contained in:
parent
3634980116
commit
f1db752ca2
3 changed files with 21 additions and 26 deletions
|
|
@ -10,36 +10,29 @@ public class FirstDayOfTheWeekHelper {
|
|||
private int firstDayOfTheWeek;
|
||||
private int dailyTaskFormOffset;
|
||||
|
||||
public FirstDayOfTheWeekHelper(String firstDayOfTheWeekSharedPref) {
|
||||
private FirstDayOfTheWeekHelper(int dailyTaskFormOffset, int firstDayOfTheWeek) {
|
||||
this.dailyTaskFormOffset = dailyTaskFormOffset;
|
||||
this.firstDayOfTheWeek = firstDayOfTheWeek;
|
||||
}
|
||||
|
||||
public static FirstDayOfTheWeekHelper newInstance(String firstDayOfTheWeekSharedPref) {
|
||||
switch (firstDayOfTheWeekSharedPref){
|
||||
case "1":
|
||||
firstDayOfTheWeek = Calendar.SUNDAY;
|
||||
dailyTaskFormOffset = 1;
|
||||
break;
|
||||
return new FirstDayOfTheWeekHelper(1, Calendar.SUNDAY);
|
||||
case "2":
|
||||
firstDayOfTheWeek = Calendar.MONDAY;
|
||||
dailyTaskFormOffset = 0;
|
||||
break;
|
||||
return new FirstDayOfTheWeekHelper(0, Calendar.MONDAY);
|
||||
case "3":
|
||||
firstDayOfTheWeek = Calendar.TUESDAY;
|
||||
dailyTaskFormOffset = 6;
|
||||
break;
|
||||
return new FirstDayOfTheWeekHelper(6, Calendar.TUESDAY);
|
||||
case "4":
|
||||
firstDayOfTheWeek = Calendar.WEDNESDAY;
|
||||
dailyTaskFormOffset = 5;
|
||||
break;
|
||||
return new FirstDayOfTheWeekHelper(5, Calendar.WEDNESDAY);
|
||||
case "5":
|
||||
firstDayOfTheWeek = Calendar.THURSDAY;
|
||||
dailyTaskFormOffset = 4;
|
||||
break;
|
||||
return new FirstDayOfTheWeekHelper(4, Calendar.THURSDAY);
|
||||
case "6":
|
||||
firstDayOfTheWeek = Calendar.FRIDAY;
|
||||
dailyTaskFormOffset = 3;
|
||||
break;
|
||||
return new FirstDayOfTheWeekHelper(3, Calendar.FRIDAY);
|
||||
case "7":
|
||||
firstDayOfTheWeek = Calendar.SATURDAY;
|
||||
dailyTaskFormOffset = 2;
|
||||
break;
|
||||
return new FirstDayOfTheWeekHelper(2, Calendar.SATURDAY);
|
||||
default:
|
||||
return new FirstDayOfTheWeekHelper(1, Calendar.SUNDAY);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -73,7 +73,8 @@ public class RemindersManager {
|
|||
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
String dayOfTheWeek = sharedPreferences.getString("FirstDayOfTheWeek",
|
||||
Integer.toString(Calendar.getInstance().getFirstDayOfWeek()));
|
||||
FirstDayOfTheWeekHelper firstDayOfTheWeekHelper = new FirstDayOfTheWeekHelper(dayOfTheWeek);
|
||||
FirstDayOfTheWeekHelper firstDayOfTheWeekHelper =
|
||||
FirstDayOfTheWeekHelper.newInstance(dayOfTheWeek);
|
||||
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT_WATCH) {
|
||||
dialogDatePicker.getCalendarView().setFirstDayOfWeek(
|
||||
firstDayOfTheWeekHelper.getFirstDayOfTheWeek());
|
||||
|
|
|
|||
|
|
@ -574,8 +574,8 @@ public class TaskFormActivity extends BaseActivity implements AdapterView.OnItem
|
|||
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
|
||||
String dayOfTheWeek = sharedPreferences.getString("FirstDayOfTheWeek",
|
||||
Integer.toString(Calendar.getInstance().getFirstDayOfWeek()));
|
||||
FirstDayOfTheWeekHelper firstDayOfTheWeekHelper = new FirstDayOfTheWeekHelper(dayOfTheWeek);
|
||||
|
||||
FirstDayOfTheWeekHelper firstDayOfTheWeekHelper =
|
||||
FirstDayOfTheWeekHelper.newInstance(dayOfTheWeek);
|
||||
ArrayList<String> weekdaysTemp = new ArrayList<>(Arrays.asList(weekdays));
|
||||
Collections.rotate(weekdaysTemp, firstDayOfTheWeekHelper.getDailyTaskFormOffset());
|
||||
weekdays = weekdaysTemp.toArray(new String[1]);
|
||||
|
|
@ -923,7 +923,8 @@ public class TaskFormActivity extends BaseActivity implements AdapterView.OnItem
|
|||
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
|
||||
String dayOfTheWeek = sharedPreferences.getString("FirstDayOfTheWeek",
|
||||
Integer.toString(Calendar.getInstance().getFirstDayOfWeek()));
|
||||
FirstDayOfTheWeekHelper firstDayOfTheWeekHelper = new FirstDayOfTheWeekHelper(dayOfTheWeek);
|
||||
FirstDayOfTheWeekHelper firstDayOfTheWeekHelper =
|
||||
FirstDayOfTheWeekHelper.newInstance(dayOfTheWeek);
|
||||
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT_WATCH) {
|
||||
datePickerDialog.getDatePicker().getCalendarView().setFirstDayOfWeek(
|
||||
firstDayOfTheWeekHelper.getFirstDayOfTheWeek());
|
||||
|
|
|
|||
Loading…
Reference in a new issue