update timer and alarm sounds if the current selection has been deleted

This commit is contained in:
tibbi 2018-03-29 23:43:31 +02:00
parent b9adb1306b
commit 3cf6ef12bf
3 changed files with 24 additions and 3 deletions

View File

@ -155,12 +155,16 @@ class MainActivity : SimpleActivity() {
when (view_pager.currentItem) {
TAB_ALARM -> getViewPagerAdapter()?.updateAlarmTabAlarmSound(newAlarmSound)
TAB_TIMER -> getViewPagerAdapter()?.updateTimerTabAlarmSound(newAlarmSound)
TAB_TIMER -> updateTimerTabAlarmSound(newAlarmSound)
}
}
private fun getViewPagerAdapter() = view_pager.adapter as? ViewPagerAdapter
fun updateTimerTabAlarmSound(alarmSound: AlarmSound) {
getViewPagerAdapter()?.updateTimerTabAlarmSound(alarmSound)
}
private fun initFragments() {
view_pager.adapter = ViewPagerAdapter(supportFragmentManager)
view_pager.onPageChangeListener {

View File

@ -11,9 +11,9 @@ import android.widget.RadioGroup
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import com.simplemobiletools.clock.R
import com.simplemobiletools.clock.activities.MainActivity
import com.simplemobiletools.clock.activities.SimpleActivity
import com.simplemobiletools.clock.extensions.config
import com.simplemobiletools.clock.extensions.getAlarmSounds
import com.simplemobiletools.clock.extensions.*
import com.simplemobiletools.clock.helpers.PICK_AUDIO_FILE_INTENT_ID
import com.simplemobiletools.clock.models.AlarmSound
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
@ -143,6 +143,21 @@ class SelectAlarmSoundDialog(val activity: SimpleActivity, val currentUri: Strin
view.dialog_select_alarm_your_radio.clearCheck()
view.dialog_select_alarm_system_radio.check(systemAlarmSounds.firstOrNull()?.id ?: 0)
}
val defaultAlarm = AlarmSound(0, activity.getDefaultAlarmTitle(), activity.getDefaultAlarmUri().toString())
val defaultTitle = defaultAlarm.title
val defaultUri = defaultAlarm.uri
if (config.timerSoundUri == alarmSound.uri) {
config.timerSoundTitle = defaultTitle
config.timerSoundUri = defaultUri
(activity as MainActivity).updateTimerTabAlarmSound(defaultAlarm)
}
activity.dbHelper.getAlarmsWithUri(alarmSound.uri).forEach {
it.soundTitle = defaultTitle
it.soundUri = defaultUri
activity.dbHelper.updateAlarm(it)
}
}
private fun dialogConfirmed() {

View File

@ -90,6 +90,8 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
fun getAlarmWithId(id: Int) = getAlarms().firstOrNull { it.id == id }
fun getAlarmsWithUri(uri: String) = getAlarms().filter { it.soundUri == uri }
private fun fillAlarmContentValues(alarm: Alarm): ContentValues {
return ContentValues().apply {
put(COL_TIME_IN_MINUTES, alarm.timeInMinutes)