diff --git a/app/src/main/kotlin/com/simplemobiletools/clock/dialogs/EditAlarmDialog.kt b/app/src/main/kotlin/com/simplemobiletools/clock/dialogs/EditAlarmDialog.kt index a2861bf9..f5934d4d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/clock/dialogs/EditAlarmDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/clock/dialogs/EditAlarmDialog.kt @@ -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() } } diff --git a/app/src/main/kotlin/com/simplemobiletools/clock/fragments/AlarmFragment.kt b/app/src/main/kotlin/com/simplemobiletools/clock/fragments/AlarmFragment.kt index 703f816b..1f15f243 100644 --- a/app/src/main/kotlin/com/simplemobiletools/clock/fragments/AlarmFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/clock/fragments/AlarmFragment.kt @@ -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) { diff --git a/app/src/main/kotlin/com/simplemobiletools/clock/helpers/DBHelper.kt b/app/src/main/kotlin/com/simplemobiletools/clock/helpers/DBHelper.kt index 46dbaf33..ada54c69 100644 --- a/app/src/main/kotlin/com/simplemobiletools/clock/helpers/DBHelper.kt +++ b/app/src/main/kotlin/com/simplemobiletools/clock/helpers/DBHelper.kt @@ -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 { diff --git a/app/src/main/kotlin/com/simplemobiletools/clock/models/Alarm.kt b/app/src/main/kotlin/com/simplemobiletools/clock/models/Alarm.kt index 43f1de84..b9b4ada5 100644 --- a/app/src/main/kotlin/com/simplemobiletools/clock/models/Alarm.kt +++ b/app/src/main/kotlin/com/simplemobiletools/clock/models/Alarm.kt @@ -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)