diff --git a/app/src/main/java/com/todoroo/astrid/ui/RandomReminderControlSet.kt b/app/src/main/java/com/todoroo/astrid/ui/RandomReminderControlSet.kt index 69485fdb1..616705082 100644 --- a/app/src/main/java/com/todoroo/astrid/ui/RandomReminderControlSet.kt +++ b/app/src/main/java/com/todoroo/astrid/ui/RandomReminderControlSet.kt @@ -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<*>?) {} diff --git a/app/src/main/java/org/tasks/ui/TaskEditViewModel.kt b/app/src/main/java/org/tasks/ui/TaskEditViewModel.kt index 6f546a719..f588178fb 100644 --- a/app/src/main/java/org/tasks/ui/TaskEditViewModel.kt +++ b/app/src/main/java/org/tasks/ui/TaskEditViewModel.kt @@ -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