mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-03 19:03:52 +00:00
68 lines
2.1 KiB
Swift
68 lines
2.1 KiB
Swift
//
|
|
// TimerViewController.swift
|
|
// SAPTracker
|
|
//
|
|
// Created by computing on 11/12/14.
|
|
// Copyright (c) 2014 com.sap.sailing. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
class TimerViewController: UIViewController, UIAlertViewDelegate {
|
|
enum AlertView: Int {
|
|
case StopTracking
|
|
}
|
|
|
|
@IBOutlet weak var trackingTimeLabel: UILabel!
|
|
|
|
let startDate = NSDate()
|
|
let dateFormatter = NSDateFormatter()
|
|
|
|
override func viewDidLoad() {
|
|
super.viewDidLoad()
|
|
|
|
// start tracking timer
|
|
let timer = NSTimer(timeInterval: 0.1, target: self, selector: "timer:", userInfo: nil, repeats: true)
|
|
NSRunLoop.currentRunLoop().addTimer(timer, forMode:NSRunLoopCommonModes)
|
|
dateFormatter.dateFormat = "HH:mm:ss"
|
|
dateFormatter.timeZone = NSTimeZone(forSecondsFromGMT: 0)
|
|
|
|
}
|
|
// MARK:- Timer
|
|
|
|
func timer(timer: NSTimer) {
|
|
let currentDate = NSDate()
|
|
let timeInterval = currentDate.timeIntervalSinceDate(startDate)
|
|
let timerDate = NSDate(timeIntervalSince1970: timeInterval)
|
|
trackingTimeLabel.text = dateFormatter.stringFromDate(timerDate)
|
|
}
|
|
|
|
// MARK:- Buttons
|
|
|
|
/* Stop tracking, go back to regattas view */
|
|
@IBAction func stopTrackingButtonTapped(sender: AnyObject) {
|
|
let alertView = UIAlertView(title: "Stop tracking?", message: "", delegate: self, cancelButtonTitle: "Cancel", otherButtonTitles: "Stop")
|
|
alertView.tag = AlertView.StopTracking.rawValue;
|
|
alertView.show()
|
|
}
|
|
|
|
/* Alert view delegate */
|
|
func alertView(alertView: UIAlertView, clickedButtonAtIndex buttonIndex: Int) {
|
|
switch alertView.tag {
|
|
// Stop tracking?
|
|
case AlertView.StopTracking.rawValue:
|
|
switch buttonIndex {
|
|
case alertView.cancelButtonIndex:
|
|
break
|
|
default:
|
|
LocationManager.sharedManager.stopTracking()
|
|
SendGPSFixController.sharedManager.trackingEvent = nil
|
|
self.dismissViewControllerAnimated(true, nil)
|
|
}
|
|
break
|
|
default:
|
|
break
|
|
}
|
|
}
|
|
|
|
} |