[F] Fix longer alarm sounds cutting off problem

This commit is contained in:
Hykilpikonna
2021-01-27 20:28:31 -05:00
parent 2b0109468c
commit 4d2f363f8a
@@ -17,7 +17,6 @@ var alarmStarted = false
*/ */
class AlarmActivationViewController: EndEditingOnReturn class AlarmActivationViewController: EndEditingOnReturn
{ {
var timer: Timer?
var currentAlarm: Alarm var currentAlarm: Alarm
// Puzzle outlets // Puzzle outlets
@@ -37,6 +36,8 @@ class AlarmActivationViewController: EndEditingOnReturn
@IBOutlet weak var timeLabel: UILabel! @IBOutlet weak var timeLabel: UILabel!
@IBOutlet weak var dateLabel: UILabel! @IBOutlet weak var dateLabel: UILabel!
var solved = false
/** /**
Constructor to receive alarm data from segue Constructor to receive alarm data from segue
*/ */
@@ -68,7 +69,8 @@ class AlarmActivationViewController: EndEditingOnReturn
shakeView.hide() shakeView.hide()
// Play sound // Play sound
timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(AlarmActivationViewController.playSound), userInfo: nil, repeats: true) playSound()
vibrate()
// Run alarm // Run alarm
runAlarm() runAlarm()
@@ -80,10 +82,18 @@ class AlarmActivationViewController: EndEditingOnReturn
/** /**
Play alarm sound Play alarm sound
*/ */
@objc func playSound() func playSound()
{ {
AudioServicesPlayAlertSound(currentAlarm.alarmTone) AudioServicesPlayAlertSoundWithCompletion(currentAlarm.alarmTone) {
AudioServicesPlayAlertSound(kSystemSoundID_Vibrate) if alarmStarted { self.playSound() }
}
}
func vibrate()
{
AudioServicesPlayAlertSoundWithCompletion(kSystemSoundID_Vibrate) {
if alarmStarted { self.vibrate() }
}
} }
/** /**
@@ -175,9 +185,8 @@ class AlarmActivationViewController: EndEditingOnReturn
*/ */
func endAlarm() func endAlarm()
{ {
timer?.invalidate() alarmStarted = false
print("Alarm solved") print("Alarm solved")
dismiss(animated: true, completion: nil) dismiss(animated: true, completion: nil)
alarmStarted = false
} }
} }