Move add alarm to task edit view model

pull/1952/head
Alex Baker 2 years ago
parent 738c345275
commit 3163150e8f

@ -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(

@ -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")
}

Loading…
Cancel
Save