mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-02 21:33:26 +00:00
Cleanup how we setup the CallKit provider and have it be used for outgoing calls as well (#2967)
- tear down ElementCall screens when ending the call from the CXCallController - make the call UI available in the task manager and lock screen - Fix broken hang up widget message format
This commit is contained in:
@@ -102,7 +102,7 @@ class CallScreenViewModel: CallScreenViewModelType, CallScreenViewModelProtocol
|
||||
return
|
||||
}
|
||||
|
||||
await elementCallService.setupCallSession(title: roomProxy.roomTitle)
|
||||
await elementCallService.setupCallSession(roomID: roomProxy.id, roomDisplayName: roomProxy.roomTitle)
|
||||
|
||||
let _ = await roomProxy.sendCallNotificationIfNeeeded()
|
||||
}
|
||||
@@ -128,15 +128,15 @@ class CallScreenViewModel: CallScreenViewModelType, CallScreenViewModelProtocol
|
||||
|
||||
private func hangUp() async {
|
||||
let hangUpMessage = """
|
||||
"api":"toWidget",
|
||||
{"api":"fromWidget",
|
||||
"widgetId":"\(widgetDriver.widgetID)",
|
||||
"requestId":"widgetapi-\(UUID())",
|
||||
"action":"im.vector.hangup",
|
||||
"data":{}
|
||||
"data":{}}
|
||||
"""
|
||||
|
||||
let result = await widgetDriver.sendMessage(hangUpMessage)
|
||||
MXLog.error("Result yo: \(result)")
|
||||
MXLog.info("Sent hangUp message with result: \(result)")
|
||||
}
|
||||
|
||||
private static let eventHandlerName = "elementx"
|
||||
|
||||
@@ -181,7 +181,7 @@ struct CallScreen_Previews: PreviewProvider {
|
||||
|
||||
roomProxy.elementCallWidgetDriverReturnValue = widgetDriver
|
||||
|
||||
return CallScreenViewModel(elementCallService: ElementCallServiceMock(),
|
||||
return CallScreenViewModel(elementCallService: ElementCallServiceMock(.init()),
|
||||
roomProxy: roomProxy,
|
||||
callBaseURL: "https://call.element.io",
|
||||
clientID: "io.element.elementx")
|
||||
|
||||
Reference in New Issue
Block a user