fix #46, properly disable freshly created alarm on delete

This commit is contained in:
tibbi 2018-05-16 14:57:31 +02:00
parent 616f6caa15
commit 2f42edd2b1
4 changed files with 9 additions and 7 deletions

View File

@ -16,7 +16,7 @@ import com.simplemobiletools.commons.helpers.ALARM_SOUND_TYPE_ALARM
import com.simplemobiletools.commons.models.AlarmSound
import kotlinx.android.synthetic.main.dialog_edit_alarm.view.*
class EditAlarmDialog(val activity: SimpleActivity, val alarm: Alarm, val callback: () -> Unit) {
class EditAlarmDialog(val activity: SimpleActivity, val alarm: Alarm, val callback: (alarmId: Int) -> Unit) {
private val view = activity.layoutInflater.inflate(R.layout.dialog_edit_alarm, null)
private val textColor = activity.config.textColor
@ -98,8 +98,10 @@ class EditAlarmDialog(val activity: SimpleActivity, val alarm: Alarm, val callba
alarm.label = view.edit_alarm_label.value
var alarmId = alarm.id
if (alarm.id == 0) {
if (!activity.dbHelper.insertAlarm(alarm)) {
alarmId = activity.dbHelper.insertAlarm(alarm)
if (alarmId == -1) {
activity.toast(R.string.unknown_error_occurred)
}
} else {
@ -107,7 +109,7 @@ class EditAlarmDialog(val activity: SimpleActivity, val alarm: Alarm, val callba
activity.toast(R.string.unknown_error_occurred)
}
}
callback()
callback(alarmId)
dismiss()
}
}

View File

@ -81,11 +81,11 @@ class AlarmFragment : Fragment(), ToggleAlarmInterface {
private fun openEditAlarm(alarm: Alarm) {
currentEditAlarmDialog = EditAlarmDialog(activity as SimpleActivity, alarm) {
alarm.id = it
currentEditAlarmDialog = null
setupAlarms()
checkAlarmState(alarm)
}
}
override fun alarmToggled(id: Int, isEnabled: Boolean) {

View File

@ -58,9 +58,9 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
insertAlarm(weekEndAlarm, db)
}
fun insertAlarm(alarm: Alarm, db: SQLiteDatabase = mDb): Boolean {
fun insertAlarm(alarm: Alarm, db: SQLiteDatabase = mDb): Int {
val values = fillAlarmContentValues(alarm)
return db.insert(ALARMS_TABLE_NAME, null, values) != -1L
return db.insert(ALARMS_TABLE_NAME, null, values).toInt()
}
fun updateAlarm(alarm: Alarm): Boolean {

View File

@ -1,4 +1,4 @@
package com.simplemobiletools.clock.models
data class Alarm(val id: Int, var timeInMinutes: Int, var days: Int, var isEnabled: Boolean, var vibrate: Boolean, var soundTitle: String,
data class Alarm(var id: Int, var timeInMinutes: Int, var days: Int, var isEnabled: Boolean, var vibrate: Boolean, var soundTitle: String,
var soundUri: String, var label: String)