Update to RingRTC v2.20.0

This commit is contained in:
Jim Gustafson 2022-03-17 22:45:47 -07:00 committed by Michelle Linington
parent 30adb219d6
commit 2ecd8a7851
5 changed files with 45 additions and 4 deletions

View File

@ -5,7 +5,7 @@
<key>BuildDetails</key>
<dict>
<key>WebRTCCommit</key>
<string>1263343626b945acd509c94d3f65bc75bffdb9c9 Production build of v2.19.2</string>
<string>0bdc4fb9c7a703c8a8f498fa78b6c1f398625348 Production build of v2.20.0</string>
</dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>

View File

@ -757,6 +757,44 @@ import CallKit
call.individualCall.state = .localHangup
callService.terminate(call: call)
case .endedRemoteReCall:
guard call === callService.currentCall else {
callService.cleanupStaleCall(call)
return
}
if let callRecord = call.individualCall.callRecord {
switch callRecord.callType {
case .outgoingMissed, .incomingDeclined, .incomingMissed, .incomingMissedBecauseOfChangedIdentity, .incomingAnsweredElsewhere, .incomingDeclinedElsewhere, .incomingBusyElsewhere:
// already handled and ended, don't update the call record.
break
case .incomingIncomplete, .incoming:
callRecord.updateCallType(.incomingMissed)
callUIAdapter.reportMissedCall(call)
case .outgoingIncomplete:
callRecord.updateCallType(.outgoingMissed)
callUIAdapter.remoteBusy(call)
case .outgoing:
callRecord.updateCallType(.outgoingMissed)
callUIAdapter.reportMissedCall(call)
@unknown default:
owsFailDebug("unknown RPRecentCallType: \(callRecord.callType)")
}
} else {
assert(call.individualCall.direction == .incoming)
let callRecord = TSCall(
callType: .incomingMissed,
offerType: call.individualCall.offerMediaType,
thread: call.individualCall.thread,
sentAtTimestamp: call.individualCall.sentAtTimestamp
)
databaseStorage.asyncWrite { callRecord.anyInsert(transaction: $0) }
call.individualCall.callRecord = callRecord
callUIAdapter.reportMissedCall(call)
}
call.individualCall.state = .localHangup
callService.terminate(call: call)
case .endedTimeout:
let description: String
@ -771,6 +809,9 @@ import CallKit
case .endedSignalingFailure:
handleFailedCall(failedCall: call, error: SignalCall.CallError.signaling, shouldResetUI: true, shouldResetRingRTC: false)
case .endedGlareHandlingFailure:
handleFailedCall(failedCall: call, error: SignalCall.CallError.signaling, shouldResetUI: true, shouldResetRingRTC: false)
case .endedInternalFailure:
handleFailedCall(failedCall: call, error: OWSAssertionError("call manager internal error"), shouldResetUI: true, shouldResetRingRTC: false)

2
ThirdParty/RingRTC vendored

@ -1 +1 @@
Subproject commit d8abec7efb80198dad3fe730633b67ba0995647d
Subproject commit 43441a36b6208e63ca872a929539350665a20fa3

View File

@ -8,7 +8,7 @@
Pod::Spec.new do |s|
s.name = "SignalRingRTC"
s.version = "2.18.1"
s.version = "2.20.0"
s.summary = "A Swift & Objective-C library used by the Signal iOS app for WebRTC interactions."
s.description = <<-DESC

2
ThirdParty/WebRTC vendored

@ -1 +1 @@
Subproject commit 1263343626b945acd509c94d3f65bc75bffdb9c9
Subproject commit 0bdc4fb9c7a703c8a8f498fa78b6c1f398625348