From 94ed87ba6e157320983eed13b62b825815cf1187 Mon Sep 17 00:00:00 2001 From: Daniel Kaparunakis Date: Thu, 8 Sep 2016 09:37:57 -0500 Subject: [PATCH 1/7] Feature: Add first day of the week option for all calendars This is the first commit for the above feature. It adds the necessary values & strings. --- Habitica/res/values/strings.xml | 2 ++ Habitica/res/values/values.xml | 10 ++++++++++ Habitica/res/xml/preferences_fragment.xml | 7 +++++++ .../habitica/ui/activities/SetupActivity.java | 16 ++++++++-------- build.gradle | 2 +- gradle/wrapper/gradle-wrapper.properties | 6 +++--- 6 files changed, 31 insertions(+), 12 deletions(-) diff --git a/Habitica/res/values/strings.xml b/Habitica/res/values/strings.xml index 901810142..c41344a81 100644 --- a/Habitica/res/values/strings.xml +++ b/Habitica/res/values/strings.xml @@ -18,6 +18,8 @@ Contact me An error happened… Account + First Day of the Week + First day of the week in all calendars Daily Reminder Activate Reminder Set Reminder Time diff --git a/Habitica/res/values/values.xml b/Habitica/res/values/values.xml index ad1ca667d..3c4676808 100644 --- a/Habitica/res/values/values.xml +++ b/Habitica/res/values/values.xml @@ -29,6 +29,16 @@ @string/sunday + + 2 + 3 + 4 + 5 + 6 + 7 + 1 + + @string/avatar_size_slim @string/avatar_size_broad diff --git a/Habitica/res/xml/preferences_fragment.xml b/Habitica/res/xml/preferences_fragment.xml index 1d50cc370..dcd97ada9 100644 --- a/Habitica/res/xml/preferences_fragment.xml +++ b/Habitica/res/xml/preferences_fragment.xml @@ -62,6 +62,13 @@ android:key="choose_class" android:order="2"/> + + Date: Sat, 10 Sep 2016 18:21:14 -0500 Subject: [PATCH 2/7] Feature: Add logic to files where calendar views occur This commit adds the first day of the week calendar logic to the RemindersManager & the TaskFormActivity classes. The date pickers present themselves on two occassions: reminders & due dates. Both were covered. --- Habitica/res/values/strings.xml | 2 + Habitica/res/xml/preferences_fragment.xml | 1 + .../helpers/FirstDayOfTheWeekHelper.java | 41 ++++++++++ .../habitica/helpers/RemindersManager.java | 15 +++- .../ui/activities/TaskFormActivity.java | 74 +++++++++++-------- 5 files changed, 100 insertions(+), 33 deletions(-) create mode 100644 Habitica/src/main/java/com/habitrpg/android/habitica/helpers/FirstDayOfTheWeekHelper.java diff --git a/Habitica/res/values/strings.xml b/Habitica/res/values/strings.xml index c41344a81..4894049b6 100644 --- a/Habitica/res/values/strings.xml +++ b/Habitica/res/values/strings.xml @@ -20,6 +20,8 @@ Account First Day of the Week First day of the week in all calendars + 5 + FirstDayOfTheWeek Daily Reminder Activate Reminder Set Reminder Time diff --git a/Habitica/res/xml/preferences_fragment.xml b/Habitica/res/xml/preferences_fragment.xml index dcd97ada9..f3ed1434d 100644 --- a/Habitica/res/xml/preferences_fragment.xml +++ b/Habitica/res/xml/preferences_fragment.xml @@ -63,6 +63,7 @@ android:order="2"/> { int day = dialogDatePicker.getDayOfMonth(); int month = dialogDatePicker.getMonth(); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.java index bc85040d1..71e6fda7e 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.java @@ -1,42 +1,17 @@ package com.habitrpg.android.habitica.ui.activities; -import com.habitrpg.android.habitica.R; -import com.habitrpg.android.habitica.components.AppComponent; -import com.habitrpg.android.habitica.events.TaskSaveEvent; -import com.habitrpg.android.habitica.events.commands.DeleteTaskCommand; -import com.habitrpg.android.habitica.helpers.RemindersManager; -import com.habitrpg.android.habitica.ui.WrapContentRecyclerViewLayoutManager; -import com.habitrpg.android.habitica.ui.adapter.tasks.CheckListAdapter; -import com.habitrpg.android.habitica.ui.adapter.tasks.RemindersAdapter; -import com.habitrpg.android.habitica.ui.helpers.MarkdownParser; -import com.habitrpg.android.habitica.ui.helpers.SimpleItemTouchHelperCallback; -import com.habitrpg.android.habitica.helpers.TaskAlarmManager; -import com.habitrpg.android.habitica.ui.helpers.ViewHelper; -import com.magicmicky.habitrpgwrapper.lib.models.Tag; -import com.magicmicky.habitrpgwrapper.lib.models.tasks.ChecklistItem; -import com.magicmicky.habitrpgwrapper.lib.models.tasks.Days; -import com.magicmicky.habitrpgwrapper.lib.models.tasks.RemindersItem; -import com.magicmicky.habitrpgwrapper.lib.models.tasks.Task; -import com.magicmicky.habitrpgwrapper.lib.models.tasks.TaskTag; -import com.raizlabs.android.dbflow.sql.builder.Condition; -import com.raizlabs.android.dbflow.sql.language.Select; - -import net.pherth.android.emoji_library.EmojiEditText; -import net.pherth.android.emoji_library.EmojiPopup; - -import org.greenrobot.eventbus.EventBus; - import android.app.DatePickerDialog; -import android.app.Dialog; -import android.app.TimePickerDialog; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; +import android.content.SharedPreferences; +import android.os.Build; import android.os.Bundle; import android.support.design.widget.TextInputLayout; import android.support.v4.content.ContextCompat; import android.support.v7.app.ActionBar; import android.support.v7.app.AlertDialog; +import android.support.v7.preference.PreferenceManager; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.helper.ItemTouchHelper; @@ -58,19 +33,43 @@ import android.widget.NumberPicker; import android.widget.Spinner; import android.widget.TableRow; import android.widget.TextView; -import android.widget.TimePicker; + +import com.habitrpg.android.habitica.R; +import com.habitrpg.android.habitica.components.AppComponent; +import com.habitrpg.android.habitica.events.TaskSaveEvent; +import com.habitrpg.android.habitica.events.commands.DeleteTaskCommand; +import com.habitrpg.android.habitica.helpers.FirstDayOfTheWeekHelper; +import com.habitrpg.android.habitica.helpers.RemindersManager; +import com.habitrpg.android.habitica.helpers.TaskAlarmManager; +import com.habitrpg.android.habitica.ui.WrapContentRecyclerViewLayoutManager; +import com.habitrpg.android.habitica.ui.adapter.tasks.CheckListAdapter; +import com.habitrpg.android.habitica.ui.adapter.tasks.RemindersAdapter; +import com.habitrpg.android.habitica.ui.helpers.MarkdownParser; +import com.habitrpg.android.habitica.ui.helpers.SimpleItemTouchHelperCallback; +import com.habitrpg.android.habitica.ui.helpers.ViewHelper; +import com.magicmicky.habitrpgwrapper.lib.models.Tag; +import com.magicmicky.habitrpgwrapper.lib.models.tasks.ChecklistItem; +import com.magicmicky.habitrpgwrapper.lib.models.tasks.Days; +import com.magicmicky.habitrpgwrapper.lib.models.tasks.RemindersItem; +import com.magicmicky.habitrpgwrapper.lib.models.tasks.Task; +import com.magicmicky.habitrpgwrapper.lib.models.tasks.TaskTag; +import com.raizlabs.android.dbflow.sql.builder.Condition; +import com.raizlabs.android.dbflow.sql.language.Select; + +import net.pherth.android.emoji_library.EmojiEditText; +import net.pherth.android.emoji_library.EmojiPopup; + +import org.greenrobot.eventbus.EventBus; import java.text.DateFormat; import java.text.DecimalFormat; import java.text.NumberFormat; import java.text.ParseException; -import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; import java.util.Locale; -import java.util.UUID; import butterknife.BindView; import butterknife.OnClick; @@ -901,6 +900,7 @@ public class TaskFormActivity extends BaseActivity implements AdapterView.OnItem public DateEditTextListener(EditText dateText) { calendar = Calendar.getInstance(); + this.datePickerText = dateText; this.datePickerText.setOnClickListener(this); this.dateFormatter = DateFormat.getDateInstance(); @@ -908,6 +908,18 @@ public class TaskFormActivity extends BaseActivity implements AdapterView.OnItem calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)); + + SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); + String dayOfTheWeek = sharedPreferences.getString("dayOfTheWeek", "1"); + FirstDayOfTheWeekHelper firstDayOfTheWeekHelper = new FirstDayOfTheWeekHelper(dayOfTheWeek); + if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT_WATCH) { + datePickerDialog.getDatePicker().getCalendarView().setFirstDayOfWeek( + firstDayOfTheWeekHelper.getFirstDayOfTheWeek()); + } else { + datePickerDialog.getDatePicker().setFirstDayOfWeek(firstDayOfTheWeekHelper + .getFirstDayOfTheWeek()); + } + this.datePickerDialog.setButton(DialogInterface.BUTTON_NEUTRAL, getResources().getString(R.string.today), (dialog, which) -> { setCalendar(Calendar.getInstance().getTime()); }); From e02b52aac9fd4605491b5428d9089e97fdbdc1c8 Mon Sep 17 00:00:00 2001 From: Daniel Kaparunakis Date: Sat, 10 Sep 2016 18:26:51 -0500 Subject: [PATCH 3/7] Fix: Correct default value for first day of the week. This commit corrects the default value for the first of the week. It was set to a non-sensical day of the week by mistake. --- Habitica/res/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Habitica/res/values/strings.xml b/Habitica/res/values/strings.xml index 4894049b6..907a04330 100644 --- a/Habitica/res/values/strings.xml +++ b/Habitica/res/values/strings.xml @@ -20,7 +20,7 @@ Account First Day of the Week First day of the week in all calendars - 5 + 1 FirstDayOfTheWeek Daily Reminder Activate Reminder From 36349801169f0d4675b295f8989ee7a88bf02299 Mon Sep 17 00:00:00 2001 From: Daniel Kaparunakis Date: Fri, 16 Sep 2016 12:29:27 -0500 Subject: [PATCH 4/7] Feature: Refactor the order of days in dailies This commit refactors the order of days in the dailies in accordance to the First Day of the Week setting. In addition, it sets the default value for the setting using the user's locale as opposed to an arbitrary value. --- Habitica/res/xml/preferences_fragment.xml | 3 +- .../helpers/FirstDayOfTheWeekHelper.java | 12 ++++ .../habitica/helpers/RemindersManager.java | 3 +- .../habitica/ui/activities/MainActivity.java | 70 +++++++++++++++++++ .../habitica/ui/activities/SetupActivity.java | 8 +++ .../ui/activities/TaskFormActivity.java | 14 +++- 6 files changed, 106 insertions(+), 4 deletions(-) diff --git a/Habitica/res/xml/preferences_fragment.xml b/Habitica/res/xml/preferences_fragment.xml index f3ed1434d..6e8bb0a9e 100644 --- a/Habitica/res/xml/preferences_fragment.xml +++ b/Habitica/res/xml/preferences_fragment.xml @@ -63,8 +63,7 @@ android:order="2"/> newTasks = this.taskSetupFragment.createSampleTasks(); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.java index 71e6fda7e..19970a3ec 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.java @@ -66,7 +66,9 @@ import java.text.DecimalFormat; import java.text.NumberFormat; import java.text.ParseException; import java.util.ArrayList; +import java.util.Arrays; import java.util.Calendar; +import java.util.Collections; import java.util.Date; import java.util.List; import java.util.Locale; @@ -569,6 +571,15 @@ public class TaskFormActivity extends BaseActivity implements AdapterView.OnItem this.frequencyContainer.removeAllViews(); if (this.dailyFrequencySpinner.getSelectedItemPosition() == 0) { String[] weekdays = getResources().getStringArray(R.array.weekdays); + SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this); + String dayOfTheWeek = sharedPreferences.getString("FirstDayOfTheWeek", + Integer.toString(Calendar.getInstance().getFirstDayOfWeek())); + FirstDayOfTheWeekHelper firstDayOfTheWeekHelper = new FirstDayOfTheWeekHelper(dayOfTheWeek); + + ArrayList weekdaysTemp = new ArrayList<>(Arrays.asList(weekdays)); + Collections.rotate(weekdaysTemp, firstDayOfTheWeekHelper.getDailyTaskFormOffset()); + weekdays = weekdaysTemp.toArray(new String[1]); + for (int i = 0; i < 7; i++) { View weekdayRow = getLayoutInflater().inflate(R.layout.row_checklist, this.frequencyContainer, false); CheckBox checkbox = (CheckBox) weekdayRow.findViewById(R.id.checkbox); @@ -910,7 +921,8 @@ public class TaskFormActivity extends BaseActivity implements AdapterView.OnItem calendar.get(Calendar.DAY_OF_MONTH)); SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); - String dayOfTheWeek = sharedPreferences.getString("dayOfTheWeek", "1"); + String dayOfTheWeek = sharedPreferences.getString("FirstDayOfTheWeek", + Integer.toString(Calendar.getInstance().getFirstDayOfWeek())); FirstDayOfTheWeekHelper firstDayOfTheWeekHelper = new FirstDayOfTheWeekHelper(dayOfTheWeek); if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT_WATCH) { datePickerDialog.getDatePicker().getCalendarView().setFirstDayOfWeek( From f1db752ca2d547948cbe870904a9ef4c6f745ff0 Mon Sep 17 00:00:00 2001 From: Daniel Kaparunakis Date: Sun, 18 Sep 2016 23:46:28 -0500 Subject: [PATCH 5/7] 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 --- .../helpers/FirstDayOfTheWeekHelper.java | 37 ++++++++----------- .../habitica/helpers/RemindersManager.java | 3 +- .../ui/activities/TaskFormActivity.java | 7 ++-- 3 files changed, 21 insertions(+), 26 deletions(-) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/FirstDayOfTheWeekHelper.java b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/FirstDayOfTheWeekHelper.java index 95a9af896..56e8c9f70 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/FirstDayOfTheWeekHelper.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/FirstDayOfTheWeekHelper.java @@ -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); } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/RemindersManager.java b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/RemindersManager.java index c638267c1..8f0ce0c0b 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/RemindersManager.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/RemindersManager.java @@ -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()); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.java index 19970a3ec..32d3458a0 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.java @@ -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 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()); From 4f759f1140b77724a4e60611f66460628e959973 Mon Sep 17 00:00:00 2001 From: Daniel Kaparunakis Date: Thu, 22 Sep 2016 22:26:27 -0500 Subject: [PATCH 6/7] Feature: Add better case labels to the FirstDayOfTheWeekHelper class This commit replaces the case labels of the switch with labels that are more descriptive. The purpose of this change is to make the class more readable by adding actual variable names to the cases instead of hardcoded strings. Issue: #546, Pull Request: #620 --- .../helpers/FirstDayOfTheWeekHelper.java | 16 ++++++++-------- .../habitica/helpers/RemindersManager.java | 2 +- .../habitica/ui/activities/TaskFormActivity.java | 4 ++-- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/FirstDayOfTheWeekHelper.java b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/FirstDayOfTheWeekHelper.java index 56e8c9f70..d85a4c5a3 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/FirstDayOfTheWeekHelper.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/FirstDayOfTheWeekHelper.java @@ -15,21 +15,21 @@ public class FirstDayOfTheWeekHelper { this.firstDayOfTheWeek = firstDayOfTheWeek; } - public static FirstDayOfTheWeekHelper newInstance(String firstDayOfTheWeekSharedPref) { + public static FirstDayOfTheWeekHelper newInstance(int firstDayOfTheWeekSharedPref) { switch (firstDayOfTheWeekSharedPref){ - case "1": + case Calendar.SUNDAY: return new FirstDayOfTheWeekHelper(1, Calendar.SUNDAY); - case "2": + case Calendar.MONDAY: return new FirstDayOfTheWeekHelper(0, Calendar.MONDAY); - case "3": + case Calendar.TUESDAY: return new FirstDayOfTheWeekHelper(6, Calendar.TUESDAY); - case "4": + case Calendar.WEDNESDAY: return new FirstDayOfTheWeekHelper(5, Calendar.WEDNESDAY); - case "5": + case Calendar.THURSDAY: return new FirstDayOfTheWeekHelper(4, Calendar.THURSDAY); - case "6": + case Calendar.FRIDAY: return new FirstDayOfTheWeekHelper(3, Calendar.FRIDAY); - case "7": + case Calendar.SATURDAY: return new FirstDayOfTheWeekHelper(2, Calendar.SATURDAY); default: return new FirstDayOfTheWeekHelper(1, Calendar.SUNDAY); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/RemindersManager.java b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/RemindersManager.java index 8f0ce0c0b..be4fbf089 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/RemindersManager.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/RemindersManager.java @@ -74,7 +74,7 @@ public class RemindersManager { String dayOfTheWeek = sharedPreferences.getString("FirstDayOfTheWeek", Integer.toString(Calendar.getInstance().getFirstDayOfWeek())); FirstDayOfTheWeekHelper firstDayOfTheWeekHelper = - FirstDayOfTheWeekHelper.newInstance(dayOfTheWeek); + FirstDayOfTheWeekHelper.newInstance(Integer.parseInt(dayOfTheWeek)); if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT_WATCH) { dialogDatePicker.getCalendarView().setFirstDayOfWeek( firstDayOfTheWeekHelper.getFirstDayOfTheWeek()); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.java index 32d3458a0..c07337324 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.java @@ -575,7 +575,7 @@ public class TaskFormActivity extends BaseActivity implements AdapterView.OnItem String dayOfTheWeek = sharedPreferences.getString("FirstDayOfTheWeek", Integer.toString(Calendar.getInstance().getFirstDayOfWeek())); FirstDayOfTheWeekHelper firstDayOfTheWeekHelper = - FirstDayOfTheWeekHelper.newInstance(dayOfTheWeek); + FirstDayOfTheWeekHelper.newInstance(Integer.parseInt(dayOfTheWeek)); ArrayList weekdaysTemp = new ArrayList<>(Arrays.asList(weekdays)); Collections.rotate(weekdaysTemp, firstDayOfTheWeekHelper.getDailyTaskFormOffset()); weekdays = weekdaysTemp.toArray(new String[1]); @@ -924,7 +924,7 @@ public class TaskFormActivity extends BaseActivity implements AdapterView.OnItem String dayOfTheWeek = sharedPreferences.getString("FirstDayOfTheWeek", Integer.toString(Calendar.getInstance().getFirstDayOfWeek())); FirstDayOfTheWeekHelper firstDayOfTheWeekHelper = - FirstDayOfTheWeekHelper.newInstance(dayOfTheWeek); + FirstDayOfTheWeekHelper.newInstance(Integer.parseInt(dayOfTheWeek)); if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT_WATCH) { datePickerDialog.getDatePicker().getCalendarView().setFirstDayOfWeek( firstDayOfTheWeekHelper.getFirstDayOfTheWeek()); From 497d574e3651c4e1e647784593c3988d19561add Mon Sep 17 00:00:00 2001 From: Daniel Kaparunakis Date: Thu, 22 Sep 2016 22:49:49 -0500 Subject: [PATCH 7/7] Refactor: Rebase First Day of the Week feature This commit rebases the develop branch into the FirstDayOfTheWeeK branch syncing it with the current state of the develop branch. Issue: #546, Pull Request: #620 --- .../habitica/ui/activities/MainActivity.java | 73 ------------------- 1 file changed, 73 deletions(-) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.java index b31e89540..468da1be6 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.java @@ -70,8 +70,6 @@ import com.habitrpg.android.habitica.events.commands.SellItemCommand; import com.habitrpg.android.habitica.events.commands.UnlockPathCommand; import com.habitrpg.android.habitica.events.commands.UpdateUserCommand; import com.habitrpg.android.habitica.helpers.notifications.PushNotificationManager; -import com.habitrpg.android.habitica.prefs.scanner.IntentIntegrator; -import com.habitrpg.android.habitica.prefs.scanner.IntentResult; import com.habitrpg.android.habitica.ui.AvatarView; import com.habitrpg.android.habitica.ui.AvatarWithBarsViewModel; import com.habitrpg.android.habitica.ui.TutorialView; @@ -130,77 +128,6 @@ import org.json.JSONObject; import org.solovyev.android.checkout.ActivityCheckout; import org.solovyev.android.checkout.Checkout; -import android.app.AlarmManager; -import android.app.PendingIntent; -import android.content.Context; -import android.content.Intent; -import android.content.SharedPreferences; -import android.content.pm.PackageInfo; -import android.content.pm.PackageManager; -import android.content.pm.ResolveInfo; -import android.database.sqlite.SQLiteDoneException; -import android.databinding.DataBindingUtil; -import android.graphics.Bitmap; -import android.graphics.Canvas; -import android.graphics.Color; -import android.graphics.Paint; -import android.graphics.Rect; -import android.graphics.drawable.BitmapDrawable; -import android.net.Uri; -import android.os.Bundle; -import android.os.Handler; -import android.preference.PreferenceManager; -import android.support.design.widget.TabLayout; -import android.support.v4.app.FragmentTransaction; -import android.support.v4.content.FileProvider; -import android.support.v4.view.GravityCompat; -import android.support.v4.widget.DrawerLayout; -import android.support.v7.app.AlertDialog; -import android.support.v7.widget.Toolbar; -import android.util.Log; -import android.view.Gravity; -import android.view.KeyEvent; -import android.view.View; -import android.widget.FrameLayout; -import android.widget.ImageView; -import android.widget.TextView; -import android.widget.Toast; - -||||||| merged common ancestors -import android.app.AlarmManager; -import android.app.PendingIntent; -import android.content.Context; -import android.content.Intent; -import android.content.SharedPreferences; -import android.content.pm.PackageInfo; -import android.content.pm.PackageManager; -import android.content.pm.ResolveInfo; -import android.database.sqlite.SQLiteDoneException; -import android.databinding.DataBindingUtil; -import android.graphics.Bitmap; -import android.graphics.Canvas; -import android.graphics.Color; -import android.graphics.Paint; -import android.graphics.Rect; -import android.graphics.drawable.BitmapDrawable; -import android.net.Uri; -import android.os.Bundle; -import android.os.Handler; -import android.preference.PreferenceManager; -import android.support.design.widget.TabLayout; -import android.support.v4.app.FragmentTransaction; -import android.support.v4.content.FileProvider; -import android.support.v4.view.GravityCompat; -import android.support.v4.widget.DrawerLayout; -import android.support.v7.app.AlertDialog; -import android.support.v7.widget.Toolbar; -import android.util.Log; -import android.view.Gravity; -import android.view.KeyEvent; -import android.view.View; -import android.widget.FrameLayout; -import android.widget.ImageView; -import android.widget.TextView; import java.io.File; import java.util.ArrayList; import java.util.Calendar;