diff options
author | BrettyWhite <geekman3454@protonmail.com> | 2017-05-16 13:44:17 -0400 |
---|---|---|
committer | BrettyWhite <geekman3454@protonmail.com> | 2017-05-16 13:44:17 -0400 |
commit | c8f9a4f33580a33b56ff0bb9dee18bab574f99e2 (patch) | |
tree | dcf53bba44036a34fd12d303d875d70018fcbb07 /SmartDeviceLink-ExampleSwift/ConnectionTCPTableViewController.swift | |
parent | 1d3a38938ca32bd6e9a768dbf1b91f1c63bf836e (diff) | |
download | sdl_ios-c8f9a4f33580a33b56ff0bb9dee18bab574f99e2.tar.gz |
working button changes for each state TCP
Diffstat (limited to 'SmartDeviceLink-ExampleSwift/ConnectionTCPTableViewController.swift')
-rw-r--r-- | SmartDeviceLink-ExampleSwift/ConnectionTCPTableViewController.swift | 42 |
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) + }) + } } } |