Fix random reminder issues

pull/1769/head
Alex Baker 2 years ago
parent cb834a9818
commit a5a65e2a2e

@ -41,10 +41,15 @@ internal class RandomReminderControlSet(context: Context, parentView: View, remi
periodSpinner.adapter = adapter
periodSpinner.onItemSelectedListener = object : OnItemSelectedListener {
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
vm.selectedAlarms?.removeIf { it.type == TYPE_RANDOM }
vm.selectedAlarms?.add(
val newAlarm =
Alarm(vm.task?.id ?: 0, hours[position] * DateUtilities.ONE_HOUR, TYPE_RANDOM)
)
vm.selectedAlarms?.apply {
find { it.type == TYPE_RANDOM }?.let {
newAlarm.id = it.id
remove(it)
}
add(newAlarm)
}
}
override fun onNothingSelected(parent: AdapterView<*>?) {}

@ -35,6 +35,7 @@ import org.tasks.R
import org.tasks.Strings
import org.tasks.calendars.CalendarEventProvider
import org.tasks.data.Alarm
import org.tasks.data.Alarm.Companion.TYPE_RANDOM
import org.tasks.data.Alarm.Companion.TYPE_REL_END
import org.tasks.data.Alarm.Companion.TYPE_REL_START
import org.tasks.data.Alarm.Companion.whenDue
@ -108,6 +109,9 @@ class TaskEditViewModel @Inject constructor(
if (task.isNotifyAfterDeadline) {
add(whenOverdue(0))
}
if (task.randomReminder > 0) {
add(Alarm(0, task.randomReminder, TYPE_RANDOM))
}
}
} else {
alarms

Loading…
Cancel
Save