Fix recurring reminder dialog cancel button

pull/1830/head
Alex Baker 4 years ago
parent 2564116341
commit 0165cda12b

@ -99,51 +99,47 @@ object AddReminderDialog {
val interval = rememberSaveable { mutableStateOf(0) } val interval = rememberSaveable { mutableStateOf(0) }
val recurringUnits = rememberSaveable { mutableStateOf(0) } val recurringUnits = rememberSaveable { mutableStateOf(0) }
val repeat = rememberSaveable { mutableStateOf(0) } val repeat = rememberSaveable { mutableStateOf(0) }
if (openDialog.value && !openRecurringDialog.value) { if (openDialog.value) {
AlertDialog( if (!openRecurringDialog.value) {
onDismissRequest = closeDialog, AlertDialog(
text = { onDismissRequest = closeDialog,
AddCustomReminder( text = {
openDialog, AddCustomReminder(
time, openDialog,
units, time,
interval, units,
recurringUnits, interval,
repeat, recurringUnits,
showRecurring = { repeat,
if (interval.value == 0 && repeat.value == 0) { showRecurring = {
interval.value = 15 openRecurringDialog.value = true
recurringUnits.value = 0
repeat.value = 4
} }
openRecurringDialog.value = true )
} },
) confirmButton = {
}, Constants.TextButton(text = R.string.ok, onClick = {
confirmButton = { time.value.takeIf { it >= 0 }?.let { i ->
Constants.TextButton(text = R.string.ok, onClick = { addAlarm(
time.value.takeIf { it >= 0 }?.let { i -> Alarm(
addAlarm( 0,
Alarm( -1 * i * units.millis,
0, Alarm.TYPE_REL_END,
-1 * i * units.millis, repeat.value,
Alarm.TYPE_REL_END, interval.value * recurringUnits.millis
repeat.value, )
interval.value * recurringUnits.millis
) )
) closeDialog()
closeDialog() }
} })
}) },
}, dismissButton = {
dismissButton = { Constants.TextButton(
Constants.TextButton( text = R.string.cancel,
text = R.string.cancel, onClick = closeDialog
onClick = closeDialog )
) },
}, )
) }
} else if (openRecurringDialog.value) {
AddRepeatReminderDialog( AddRepeatReminderDialog(
openDialog = openRecurringDialog, openDialog = openRecurringDialog,
initialInterval = interval.value, initialInterval = interval.value,
@ -177,34 +173,38 @@ object AddReminderDialog {
val repeat = rememberSaveable { mutableStateOf(initialRepeat) } val repeat = rememberSaveable { mutableStateOf(initialRepeat) }
val closeDialog = { val closeDialog = {
openDialog.value = false openDialog.value = false
interval.value = initialInterval }
if (openDialog.value) {
AlertDialog(
onDismissRequest = closeDialog,
text = {
AddRecurringReminder(
openDialog,
interval,
units,
repeat,
)
},
confirmButton = {
Constants.TextButton(text = R.string.ok, onClick = {
if (interval.value > 0 && repeat.value > 0) {
selected(interval.value, units.value, repeat.value)
openDialog.value = false
}
})
},
dismissButton = {
Constants.TextButton(
text = R.string.cancel,
onClick = closeDialog
)
},
)
} else {
interval.value = initialInterval.takeIf { it > 0 } ?: 15
units.value = initialUnits units.value = initialUnits
repeat.value = initialRepeat repeat.value = initialRepeat.takeIf { it > 0 } ?: 4
} }
AlertDialog(
onDismissRequest = closeDialog,
text = {
AddRecurringReminder(
openDialog,
interval,
units,
repeat,
) },
confirmButton = {
Constants.TextButton(text = R.string.ok, onClick = {
if (interval.value > 0 && repeat.value > 0) {
selected(interval.value, units.value, repeat.value)
openDialog.value = false
}
})
},
dismissButton = {
Constants.TextButton(
text = R.string.cancel,
onClick = closeDialog
)
},
)
} }
@Composable @Composable

Loading…
Cancel
Save