From 3163150e8fd3627f8f2a5445b43262f29d5de9dc Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Thu, 28 Jul 2022 13:08:42 -0500 Subject: [PATCH] Move add alarm to task edit view model --- .../todoroo/astrid/ui/ReminderControlSet.kt | 18 +++++------------- .../java/org/tasks/ui/TaskEditViewModel.kt | 8 ++++++++ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/todoroo/astrid/ui/ReminderControlSet.kt b/app/src/main/java/com/todoroo/astrid/ui/ReminderControlSet.kt index 3730d1ad2..275d36efb 100644 --- a/app/src/main/java/com/todoroo/astrid/ui/ReminderControlSet.kt +++ b/app/src/main/java/com/todoroo/astrid/ui/ReminderControlSet.kt @@ -80,11 +80,11 @@ class ReminderControlSet : TaskEditControlFragment() { val id = viewModel.task.id when (selected) { getString(R.string.when_started) -> - addAlarmRow(whenStarted(id)) + viewModel.addAlarm(whenStarted(id)) getString(R.string.when_due) -> - addAlarmRow(whenDue(id)) + viewModel.addAlarm(whenDue(id)) getString(R.string.when_overdue) -> - addAlarmRow(whenOverdue(id)) + viewModel.addAlarm(whenOverdue(id)) getString(R.string.randomly) -> vm.showRandomDialog(visible = true) getString(R.string.pick_a_date_and_time) -> @@ -132,7 +132,7 @@ class ReminderControlSet : TaskEditControlFragment() { }, ringMode = ringMode, newAlarm = this@ReminderControlSet::addAlarm, - addAlarm = this@ReminderControlSet::addAlarmRow, + addAlarm = viewModel::addAlarm, openRingType = this@ReminderControlSet::onClickRingType, deleteAlarm = { viewModel.selectedAlarms.value = viewModel.selectedAlarms.value.minus(it) @@ -148,21 +148,13 @@ class ReminderControlSet : TaskEditControlFragment() { if (requestCode == REQUEST_NEW_ALARM) { if (resultCode == Activity.RESULT_OK) { val timestamp = data!!.getLongExtra(MyTimePickerDialog.EXTRA_TIMESTAMP, 0L) - addAlarmRow(Alarm(0, timestamp, TYPE_DATE_TIME)) + viewModel.addAlarm(Alarm(0, timestamp, TYPE_DATE_TIME)) } } else { super.onActivityResult(requestCode, resultCode, data) } } - private fun addAlarmRow(alarm: Alarm) { - with (viewModel.selectedAlarms) { - if (value.none { it.same(alarm) }) { - value = value.plus(alarm) - } - } - } - private fun addNewAlarm() { val intent = Intent(activity, DateAndTimePickerActivity::class.java) .putExtra( diff --git a/app/src/main/java/org/tasks/ui/TaskEditViewModel.kt b/app/src/main/java/org/tasks/ui/TaskEditViewModel.kt index 0549b958d..fcffb74ca 100644 --- a/app/src/main/java/org/tasks/ui/TaskEditViewModel.kt +++ b/app/src/main/java/org/tasks/ui/TaskEditViewModel.kt @@ -380,6 +380,14 @@ class TaskEditViewModel @Inject constructor( } } + fun addAlarm(alarm: Alarm) { + with (selectedAlarms) { + if (value.none { it.same(alarm) }) { + value = value.plus(alarm) + } + } + } + companion object { fun String?.stripCarriageReturns(): String? = this?.replace("\\r\\n?".toRegex(), "\n") }