From 08d5d4122931a73b4eeba2fdec72ec9cd9fd99e2 Mon Sep 17 00:00:00 2001 From: rapterjet2004 Date: Tue, 3 Sep 2024 07:59:16 -0500 Subject: [PATCH 1/2] Should be fixed for good , need to test though Signed-off-by: rapterjet2004 --- .../talk/ui/dialog/DateTimePickerFragment.kt | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/ui/dialog/DateTimePickerFragment.kt b/app/src/main/java/com/nextcloud/talk/ui/dialog/DateTimePickerFragment.kt index 603bc877c..48cbc44a4 100644 --- a/app/src/main/java/com/nextcloud/talk/ui/dialog/DateTimePickerFragment.kt +++ b/app/src/main/java/com/nextcloud/talk/ui/dialog/DateTimePickerFragment.kt @@ -103,8 +103,6 @@ class DateTimePickerFragment : DialogFragment() { hour = HOUR_EIGHT_AM, minute = 0, daysToAdd = 1, - weekInYear = - currentWeekInYear + 1 ) binding.dateTimePickerWeekend.visibility = View.GONE // because today is the weekend @@ -117,7 +115,7 @@ class DateTimePickerFragment : DialogFragment() { nextWeekTimeStamp = getTimeFromCalendar( hour = HOUR_EIGHT_AM, - day = Calendar.MONDAY, + weekDay = Calendar.MONDAY, minute = 0, weekInYear = currentWeekInYear + 1 @@ -255,18 +253,18 @@ class DateTimePickerFragment : DialogFragment() { private fun getTimeFromCalendar( year: Int = Calendar.getInstance().get(Calendar.YEAR), month: Int = Calendar.getInstance().get(Calendar.MONTH), - day: Int = Calendar.getInstance().get(Calendar.DAY_OF_WEEK), + day: Int = Calendar.getInstance().get(Calendar.DAY_OF_YEAR), hour: Int = Calendar.getInstance().get(Calendar.HOUR_OF_DAY), minute: Int = Calendar.getInstance().get(Calendar.MINUTE), daysToAdd: Int = 0, - weekInYear: Int = Calendar.getInstance().get(Calendar.WEEK_OF_YEAR) + weekInYear: Int = Calendar.getInstance().get(Calendar.WEEK_OF_YEAR), + weekDay: Int = -1 ): Long { val calendar: Calendar = Calendar.getInstance().apply { set(Calendar.YEAR, year) set(Calendar.MONTH, month) - set(Calendar.DAY_OF_WEEK, day) - add(Calendar.DAY_OF_WEEK, daysToAdd) - set(Calendar.WEEK_OF_YEAR, weekInYear) + if (weekDay > -1) set(Calendar.DAY_OF_WEEK, weekDay) else set(Calendar.DAY_OF_YEAR, day) + if (daysToAdd > 0) add(Calendar.DAY_OF_YEAR, daysToAdd) else set(Calendar.WEEK_OF_YEAR, weekInYear) set(Calendar.HOUR_OF_DAY, hour) set(Calendar.MINUTE, minute) set(Calendar.SECOND, 0) From ece1f2ed657cba987fc190061327994e6b384ff8 Mon Sep 17 00:00:00 2001 From: rapterjet2004 Date: Wed, 4 Sep 2024 07:15:34 -0500 Subject: [PATCH 2/2] fixed weekendTimeStamp, added a comment for clarity Signed-off-by: rapterjet2004 --- .../com/nextcloud/talk/ui/dialog/DateTimePickerFragment.kt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/ui/dialog/DateTimePickerFragment.kt b/app/src/main/java/com/nextcloud/talk/ui/dialog/DateTimePickerFragment.kt index 48cbc44a4..42f87f285 100644 --- a/app/src/main/java/com/nextcloud/talk/ui/dialog/DateTimePickerFragment.kt +++ b/app/src/main/java/com/nextcloud/talk/ui/dialog/DateTimePickerFragment.kt @@ -102,13 +102,13 @@ class DateTimePickerFragment : DialogFragment() { tomorrowTimeStamp = getTimeFromCalendar( hour = HOUR_EIGHT_AM, minute = 0, - daysToAdd = 1, + daysToAdd = 1 ) binding.dateTimePickerWeekend.visibility = View.GONE // because today is the weekend } else { tomorrowTimeStamp = getTimeFromCalendar(hour = HOUR_EIGHT_AM, minute = 0, daysToAdd = 1) - weekendTimeStamp = getTimeFromCalendar(hour = HOUR_EIGHT_AM, day = Calendar.SATURDAY, minute = 0) + weekendTimeStamp = getTimeFromCalendar(hour = HOUR_EIGHT_AM, weekDay = Calendar.SATURDAY, minute = 0) } binding.dateTimePickerTomorrowTextview.text = getTimeFromTimeStamp(tomorrowTimeStamp) binding.dateTimePickerWeekendTextview.text = getTimeFromTimeStamp(weekendTimeStamp) @@ -249,6 +249,9 @@ class DateTimePickerFragment : DialogFragment() { timePicker.show(this.parentFragmentManager, TAG) } + /** + * You can use `weekDay` or `daysToAdd` or neither but don't use both b/c it messes up the calendar + */ @Suppress("LongParameterList") private fun getTimeFromCalendar( year: Int = Calendar.getInstance().get(Calendar.YEAR),