[+] Add comments to AlarmActivationViewController

This commit is contained in:
Hykilpikonna
2021-01-27 17:41:17 -05:00
parent 885a3064eb
commit bd5b5704d1
@@ -8,28 +8,34 @@
import UIKit import UIKit
import AVFoundation import AVFoundation
/**
View controlling alarm activation and dismissal
*/
class AlarmActivationViewController: UIViewController class AlarmActivationViewController: UIViewController
{ {
var timer: Timer? var timer: Timer?
var currentAlarm: Alarm? var currentAlarm: Alarm?
//Puzzle outlets // Puzzle outlets
@IBOutlet weak var puzzleView: UIView! @IBOutlet weak var puzzleView: UIView!
@IBOutlet weak var puzzleQuestionLabel: UILabel! @IBOutlet weak var puzzleQuestionLabel: UILabel!
@IBOutlet weak var puzzleAnswerInput: UITextField! @IBOutlet weak var puzzleAnswerInput: UITextField!
var puzzleAnswers: [Int] = [] var puzzleAnswers: [Int] = []
//RPS Outlets // RPS Outlets
@IBOutlet weak var rpsView: UIView! @IBOutlet weak var rpsView: UIView!
@IBOutlet weak var rpsResult: UILabel! @IBOutlet weak var rpsResult: UILabel!
//Shake Outlets // Shake Outlets
@IBOutlet weak var shakeView: UIView! @IBOutlet weak var shakeView: UIView!
//Other Outlets // Other Outlets
@IBOutlet weak var timeLabel: UILabel! @IBOutlet weak var timeLabel: UILabel!
@IBOutlet weak var dateLabel: UILabel! @IBOutlet weak var dateLabel: UILabel!
/**
Constructor to receive alarm data from segue
*/
init?(coder: NSCoder, currentAlarm: Alarm) init?(coder: NSCoder, currentAlarm: Alarm)
{ {
self.currentAlarm = currentAlarm self.currentAlarm = currentAlarm
@@ -37,10 +43,14 @@ class AlarmActivationViewController: UIViewController
super.init(coder: coder) super.init(coder: coder)
} }
required init?(coder: NSCoder) { /**
fatalError("init(coder:) has not been implemented") Unused init
} */
required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") }
/**
Called when the alarm activates
*/
override func viewDidLoad() override func viewDidLoad()
{ {
super.viewDidLoad() super.viewDidLoad()
@@ -61,19 +71,26 @@ class AlarmActivationViewController: UIViewController
runAlarm() runAlarm()
} }
/**
Play alarm sound
*/
@objc func playSound() @objc func playSound()
{ {
AudioServicesPlayAlertSound(currentAlarm!.alarmTone) AudioServicesPlayAlertSound(currentAlarm!.alarmTone)
AudioServicesPlayAlertSound(kSystemSoundID_Vibrate) AudioServicesPlayAlertSound(kSystemSoundID_Vibrate)
} }
/**
Run alarm dismissal logic
*/
func runAlarm() func runAlarm()
{ {
if let alarm = currentAlarm if let alarm = currentAlarm
{ {
switch alarm.wakeMethod.name { switch alarm.wakeMethod.name
{
case "Walk": case "Walk":
walkAction() walkAction()
case "Jump": case "Jump":
@@ -99,7 +116,9 @@ class AlarmActivationViewController: UIViewController
} }
} }
//Verfies and ends factoring WVM /**
Verfies and ends factoring WVM
*/
@IBAction func checkBinomialSolution(_ sender: Any) { @IBAction func checkBinomialSolution(_ sender: Any) {
if let input = puzzleAnswerInput.text { if let input = puzzleAnswerInput.text {
if let numericalInput = Int(input) { if let numericalInput = Int(input) {
@@ -110,7 +129,9 @@ class AlarmActivationViewController: UIViewController
} }
} }
//Gets RPS choice /**
Gets RPS choice
*/
@IBAction func rockChoice(_ sender: Any) { @IBAction func rockChoice(_ sender: Any) {
if rpsAction(choice: .rock)! { if rpsAction(choice: .rock)! {
endAlarm() endAlarm()
@@ -118,7 +139,6 @@ class AlarmActivationViewController: UIViewController
rpsResult.text = "Paper: You lost, try again" rpsResult.text = "Paper: You lost, try again"
} }
} }
@IBAction func paperChoice(_ sender: Any) { @IBAction func paperChoice(_ sender: Any) {
if rpsAction(choice: .paper)! { if rpsAction(choice: .paper)! {
endAlarm() endAlarm()
@@ -134,10 +154,11 @@ class AlarmActivationViewController: UIViewController
} }
} }
/**
Standard way to turn off and close the alarm
//Standard way to turn off and close the alarm */
func endAlarm() { func endAlarm()
{
timer?.invalidate() timer?.invalidate()
print("Alarm solved") print("Alarm solved")
dismiss(animated: true, completion: nil) dismiss(animated: true, completion: nil)