From fa82c89ecc10e0beb7f756c82e7fa1fbfe1b7bfb Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Tue, 26 Jul 2022 12:44:01 +0200 Subject: [PATCH] fix date issues --- .../habitica/models/tasks/RemindersItem.kt | 3 +++ .../tasks/form/TaskSchedulingControls.kt | 24 +++++++++++-------- version.properties | 2 +- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/tasks/RemindersItem.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/models/tasks/RemindersItem.kt index c8e671ced..ef70a2b6a 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/tasks/RemindersItem.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/tasks/RemindersItem.kt @@ -56,6 +56,9 @@ open class RemindersItem : RealmObject, Parcelable { } fun getZonedDateTime(): ZonedDateTime? { + if (time == null) { + return null + } val formatter: DateTimeFormatter = DateTimeFormatterBuilder().append(DateTimeFormatter.ISO_LOCAL_DATE) .appendPattern("['T'][' ']") diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/tasks/form/TaskSchedulingControls.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/tasks/form/TaskSchedulingControls.kt index f49b97416..abdc3b501 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/tasks/form/TaskSchedulingControls.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/tasks/form/TaskSchedulingControls.kt @@ -18,12 +18,12 @@ import androidx.core.content.ContextCompat import androidx.core.view.children import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.databinding.TaskFormTaskSchedulingBinding +import com.habitrpg.android.habitica.models.tasks.Days +import com.habitrpg.android.habitica.ui.adapter.SimpleSpinnerAdapter import com.habitrpg.common.habitica.extensions.dpToPx import com.habitrpg.common.habitica.extensions.layoutInflater -import com.habitrpg.android.habitica.models.tasks.Days import com.habitrpg.common.habitica.models.tasks.Frequency import com.habitrpg.common.habitica.models.tasks.TaskType -import com.habitrpg.android.habitica.ui.adapter.SimpleSpinnerAdapter import java.text.DateFormat import java.text.DateFormatSymbols import java.util.Calendar @@ -111,16 +111,20 @@ class TaskSchedulingControls @JvmOverloads constructor( generateSummary() } - var firstDayOfWeek: Int? = null + var firstDayOfWeek: Int = -1 + set(value) { + field = value + if (value >= 0) { + val codes = (1..7).toList() + Collections.rotate(codes, -firstDayOfWeek+1) + weekdayOrder = codes + } + } private val weekdays: Array by lazy { DateFormatSymbols().weekdays } - private val weekdayOrder: List by lazy { - val codes = (1..7).toList() - Collections.rotate(codes, -startDateCalendar.firstDayOfWeek) - codes - } + private var weekdayOrder: List = (1..7).toList() init { binding.repeatsEverySpinner.adapter = frequencyAdapter @@ -165,8 +169,8 @@ class TaskSchedulingControls @JvmOverloads constructor( } } - if ((firstDayOfWeek ?: -1) >= 0) { - datePickerDialog.datePicker.firstDayOfWeek = firstDayOfWeek ?: 0 + if (firstDayOfWeek >= 0) { + datePickerDialog.datePicker.firstDayOfWeek = firstDayOfWeek } if (taskType == TaskType.TODO) { datePickerDialog.setButton(DialogInterface.BUTTON_NEUTRAL, resources.getString(R.string.clear)) { _, _ -> diff --git a/version.properties b/version.properties index 1edd541a1..137889d77 100644 --- a/version.properties +++ b/version.properties @@ -1,2 +1,2 @@ NAME=4.0 -CODE=4260 \ No newline at end of file +CODE=4270 \ No newline at end of file