|
@@ -102,22 +102,20 @@ class DateTimePickerFragment : DialogFragment() {
|
|
|
tomorrowTimeStamp = getTimeFromCalendar(
|
|
|
hour = HOUR_EIGHT_AM,
|
|
|
minute = 0,
|
|
|
- daysToAdd = 1,
|
|
|
- weekInYear =
|
|
|
- currentWeekInYear + 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)
|
|
|
|
|
|
nextWeekTimeStamp = getTimeFromCalendar(
|
|
|
hour = HOUR_EIGHT_AM,
|
|
|
- day = Calendar.MONDAY,
|
|
|
+ weekDay = Calendar.MONDAY,
|
|
|
minute = 0,
|
|
|
weekInYear =
|
|
|
currentWeekInYear + 1
|
|
@@ -251,22 +249,25 @@ 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),
|
|
|
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)
|