improve error handling at SelectAlarmSound dialog

This commit is contained in:
tibbi 2018-03-28 23:38:26 +02:00
parent 2d4ea903d1
commit 87c1b0ea08
3 changed files with 16 additions and 8 deletions

View File

@ -31,11 +31,13 @@ class EditAlarmDialog(val activity: SimpleActivity, val alarm: Alarm, val callba
edit_alarm_sound.text = alarm.soundTitle edit_alarm_sound.text = alarm.soundTitle
edit_alarm_sound.setOnClickListener { edit_alarm_sound.setOnClickListener {
SelectAlarmSoundDialog(activity, alarm.soundUri, AudioManager.STREAM_ALARM) { SelectAlarmSoundDialog(activity, alarm.soundUri, AudioManager.STREAM_ALARM) {
if (it != null) {
alarm.soundTitle = it.title alarm.soundTitle = it.title
alarm.soundUri = it.uri alarm.soundUri = it.uri
edit_alarm_sound.text = it.title edit_alarm_sound.text = it.title
} }
} }
}
edit_alarm_vibrate.colorLeftDrawable(textColor) edit_alarm_vibrate.colorLeftDrawable(textColor)
edit_alarm_vibrate.isChecked = alarm.vibrate edit_alarm_vibrate.isChecked = alarm.vibrate

View File

@ -14,7 +14,7 @@ import com.simplemobiletools.commons.extensions.setupDialogStuff
import com.simplemobiletools.commons.extensions.showErrorToast import com.simplemobiletools.commons.extensions.showErrorToast
import kotlinx.android.synthetic.main.dialog_select_alarm_sound.view.* import kotlinx.android.synthetic.main.dialog_select_alarm_sound.view.*
class SelectAlarmSoundDialog(val activity: SimpleActivity, val currentUri: String, val audioStream: Int, val callback: (alarmSound: AlarmSound) -> Unit) { class SelectAlarmSoundDialog(val activity: SimpleActivity, val currentUri: String, val audioStream: Int, val callback: (alarmSound: AlarmSound?) -> Unit) {
private val view = activity.layoutInflater.inflate(R.layout.dialog_select_alarm_sound, null) private val view = activity.layoutInflater.inflate(R.layout.dialog_select_alarm_sound, null)
private val alarms = activity.getAlarms() private val alarms = activity.getAlarms()
private var mediaPlayer = MediaPlayer() private var mediaPlayer = MediaPlayer()
@ -58,6 +58,10 @@ class SelectAlarmSoundDialog(val activity: SimpleActivity, val currentUri: Strin
private fun dialogConfirmed() { private fun dialogConfirmed() {
val checkedId = view.dialog_select_alarm_radio.checkedRadioButtonId val checkedId = view.dialog_select_alarm_radio.checkedRadioButtonId
if (checkedId == -1) {
callback(null)
} else {
callback(alarms[checkedId]) callback(alarms[checkedId])
} }
}
} }

View File

@ -66,12 +66,14 @@ class TimerFragment : Fragment() {
timer_sound.setOnClickListener { timer_sound.setOnClickListener {
SelectAlarmSoundDialog(activity as SimpleActivity, config.timerSoundUri, AudioManager.STREAM_SYSTEM) { SelectAlarmSoundDialog(activity as SimpleActivity, config.timerSoundUri, AudioManager.STREAM_SYSTEM) {
if (it != null) {
config.timerSoundTitle = it.title config.timerSoundTitle = it.title
config.timerSoundUri = it.uri config.timerSoundUri = it.uri
timer_sound.text = it.title timer_sound.text = it.title
} }
} }
} }
}
initialSecs = config.timerSeconds initialSecs = config.timerSeconds
updateDisplayedText() updateDisplayedText()