mirror of
https://github.com/SimpleMobileTools/Simple-Clock.git
synced 2025-02-02 11:36:52 +01:00
update timer and alarm sounds if the current selection has been deleted
This commit is contained in:
parent
b9adb1306b
commit
3cf6ef12bf
@ -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 {
|
||||
|
@ -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() {
|
||||
|
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user