diff --git a/ios/app/watchos/app/Base.lproj/Interface.storyboard b/ios/app/watchos/app/Base.lproj/Interface.storyboard index 19cd8eb80..52f18fde3 100644 --- a/ios/app/watchos/app/Base.lproj/Interface.storyboard +++ b/ios/app/watchos/app/Base.lproj/Interface.storyboard @@ -26,7 +26,7 @@ - + @@ -44,24 +44,32 @@ - + - + - + + + + diff --git a/ios/app/watchos/extension/InCallController.swift b/ios/app/watchos/extension/InCallController.swift index 5c330718d..8065e741f 100644 --- a/ios/app/watchos/extension/InCallController.swift +++ b/ios/app/watchos/extension/InCallController.swift @@ -20,10 +20,12 @@ import Foundation class InCallController: WKInterfaceController { - + @IBOutlet var roomLabel: WKInterfaceLabel! + @IBOutlet var timer: WKInterfaceTimer! + @IBAction func hangupClicked() { sendMessage(["command": "hangup"]) - dismiss() + popToRootController() } @IBAction func muteClicked() { @@ -38,16 +40,25 @@ class InCallController: WKInterfaceController { } override func awake(withContext context: Any?) { - super.awake(withContext: context) + super.awake(withContext: context) - // Configure interface objects here. - } + if let data = context as? [String : String] { + sendMessage(["command": "joinConference", "data" : data["roomUrl"]!]) + roomLabel.setText(data["room"]!) + } + } override func willActivate() { // This method is called when watch view controller is about to be visible to user super.willActivate() } + override func didAppear() { + super.didAppear() + + timer.start() + } + override func didDeactivate() { // This method is called when watch view controller is no longer visible super.didDeactivate() diff --git a/ios/app/watchos/extension/InterfaceController.swift b/ios/app/watchos/extension/InterfaceController.swift index 63372c97b..a2d488588 100644 --- a/ios/app/watchos/extension/InterfaceController.swift +++ b/ios/app/watchos/extension/InterfaceController.swift @@ -41,6 +41,8 @@ class InterfaceController: WKInterfaceController { // Update row controller let controller = table.rowController(at: index) as! MeetingRowController + controller.room = room + controller.roomUrl = roomURL as String! controller.roomLabel.setText(room) controller.timeLabel.setText(strDate) } @@ -60,4 +62,8 @@ class InterfaceController: WKInterfaceController { super.didDeactivate() } + override func contextForSegue(withIdentifier segueIdentifier: String, in table: WKInterfaceTable, rowIndex: Int) -> Any? { + let controller = table.rowController(at: rowIndex) as! MeetingRowController + return ["room" : controller.room, "roomUrl" : controller.roomUrl] + } } diff --git a/ios/app/watchos/extension/MeetingRowController.swift b/ios/app/watchos/extension/MeetingRowController.swift index d383b2b6c..2b4a6923e 100644 --- a/ios/app/watchos/extension/MeetingRowController.swift +++ b/ios/app/watchos/extension/MeetingRowController.swift @@ -17,8 +17,9 @@ import WatchKit class MeetingRowController: NSObject { - @IBOutlet var roomLabel: WKInterfaceLabel! @IBOutlet var timeLabel: WKInterfaceLabel! + var room: String! + var roomUrl: String! }