summaryrefslogtreecommitdiff
path: root/SmartDeviceLink-ExampleSwift/ConnectionTCPTableViewController.swift
diff options
context:
space:
mode:
authorBrettyWhite <geekman3454@protonmail.com>2017-05-16 13:44:17 -0400
committerBrettyWhite <geekman3454@protonmail.com>2017-05-16 13:44:17 -0400
commitc8f9a4f33580a33b56ff0bb9dee18bab574f99e2 (patch)
treedcf53bba44036a34fd12d303d875d70018fcbb07 /SmartDeviceLink-ExampleSwift/ConnectionTCPTableViewController.swift
parent1d3a38938ca32bd6e9a768dbf1b91f1c63bf836e (diff)
downloadsdl_ios-c8f9a4f33580a33b56ff0bb9dee18bab574f99e2.tar.gz
working button changes for each state TCP
Diffstat (limited to 'SmartDeviceLink-ExampleSwift/ConnectionTCPTableViewController.swift')
-rw-r--r--SmartDeviceLink-ExampleSwift/ConnectionTCPTableViewController.swift42
1 files changed, 37 insertions, 5 deletions
diff --git a/SmartDeviceLink-ExampleSwift/ConnectionTCPTableViewController.swift b/SmartDeviceLink-ExampleSwift/ConnectionTCPTableViewController.swift
index ec9496908..1a696d35e 100644
--- a/SmartDeviceLink-ExampleSwift/ConnectionTCPTableViewController.swift
+++ b/SmartDeviceLink-ExampleSwift/ConnectionTCPTableViewController.swift
@@ -15,6 +15,8 @@ class ConnectionTCPTableViewController: UITableViewController, UINavigationContr
@IBOutlet weak var portTextField: UITextField!
@IBOutlet weak var connectTableViewCell: UITableViewCell!
@IBOutlet weak var connectButton: UIButton!
+
+ var state: ProxyState = ProxyState.ProxyStateStopped
override func viewDidLoad() {
super.viewDidLoad()
@@ -24,6 +26,8 @@ class ConnectionTCPTableViewController: UITableViewController, UINavigationContr
tableView.keyboardDismissMode = .onDrag
ipAddressTextField.text = UserDefaults.standard.string(forKey: "ipAddress")
portTextField.text = UserDefaults.standard.string(forKey: "port")
+ // Connect Button setup
+ connectButton.setTitleColor(.black, for: .normal)
}
override func didReceiveMemoryWarning() {
@@ -42,10 +46,15 @@ class ConnectionTCPTableViewController: UITableViewController, UINavigationContr
UserDefaults.standard.set(ipAddress, forKey: "ipAddress")
UserDefaults.standard.set(port, forKey: "port")
- // Initialize the SDL manager
- _ = ProxyManager.sharedManager.connectTCP()
-
-
+ // Initialize (or reset) the SDL manager
+ switch state {
+ case ProxyState.ProxyStateStopped:
+ ProxyManager.sharedManager.connectTCP()
+ case ProxyState.ProxyStateSearchingForConnection:
+ ProxyManager.sharedManager.reset()
+ case ProxyState.ProxyStateConnected:
+ ProxyManager.sharedManager.reset()
+ }
}else{
// Alert the user to put something in
let alertMessage = UIAlertController(title: "Missing Info!", message: "Make sure to set your IP Address and Port", preferredStyle: .alert)
@@ -55,7 +64,30 @@ class ConnectionTCPTableViewController: UITableViewController, UINavigationContr
}
// MARK: - Delegate Functions
func didChangeProxyState(_ newState: ProxyState){
- print("UPDATE PROXY STATE CALLED \(newState)")
+ // Updates state from ProxyManager
+ state = newState
+ var newColor: UIColor? = nil
+ var newTitle: String? = nil
+
+ switch newState {
+ case .ProxyStateStopped:
+ newColor = UIColor.red
+ newTitle = "Connect"
+ case .ProxyStateSearchingForConnection:
+ newColor = UIColor.blue
+ newTitle = "Stop Searching"
+ case .ProxyStateConnected:
+ newColor = UIColor.green
+ newTitle = "Disconnect"
+ }
+
+ if (newColor != nil) || (newTitle != nil) {
+ DispatchQueue.main.async(execute: {() -> Void in
+ self.connectTableViewCell.backgroundColor = newColor
+ self.connectButton.setTitle(newTitle, for: .normal)
+ self.connectButton.setTitleColor(.white, for: .normal)
+ })
+ }
}
}