Minimize changes around call audio activity

// FREEBIE
pull/1/head
Michael Kirk 7 years ago
parent 4dd1c7813a
commit 707ab5f5a8

@ -1500,8 +1500,8 @@ protocol CallServiceObserver: class {
self.peerConnectionClient = nil
self.call?.removeAllObservers()
self.call = nil
self.callUIAdapter.didTerminateCall(self.call)
self.call = nil
self.sendIceUpdatesImmediately = true
Logger.info("\(self.logTag) clearing pendingIceUpdateMessages")

@ -15,7 +15,6 @@ class NonCallKitCallUIAdaptee: NSObject, CallUIAdaptee {
let notificationsAdapter: CallNotificationsAdapter
let callService: CallService
let audioActivity: AudioActivity
// Starting/Stopping incoming call ringing is our apps responsibility for the non CallKit interface.
let hasManualRinger = true
@ -25,7 +24,6 @@ class NonCallKitCallUIAdaptee: NSObject, CallUIAdaptee {
self.callService = callService
self.notificationsAdapter = notificationsAdapter
self.audioActivity = AudioActivity(audioDescription: "[NonCallKitCallUIAdaptee]")
super.init()
@ -94,7 +92,7 @@ class NonCallKitCallUIAdaptee: NSObject, CallUIAdaptee {
return
}
OWSAudioSession.shared.enableRTCAudio(audioActivity: audioActivity)
OWSAudioSession.shared.isRTCAudioEnabled = true
self.callService.handleAnswerCall(call)
}
@ -128,7 +126,7 @@ class NonCallKitCallUIAdaptee: NSObject, CallUIAdaptee {
func recipientAcceptedCall(_ call: SignalCall) {
AssertIsOnMainThread()
OWSAudioSession.shared.enableRTCAudio(audioActivity: audioActivity)
OWSAudioSession.shared.isRTCAudioEnabled = true
}
func localHangupCall(_ call: SignalCall) {

@ -25,7 +25,6 @@ final class CallKitCallUIAdaptee: NSObject, CallUIAdaptee, CXProviderDelegate {
internal let notificationsAdapter: CallNotificationsAdapter
internal let contactsManager: OWSContactsManager
private let provider: CXProvider
private let audioActivity: AudioActivity
// CallKit handles incoming ringer stop/start for us. Yay!
let hasManualRinger = false
@ -61,7 +60,6 @@ final class CallKitCallUIAdaptee: NSObject, CallUIAdaptee, CXProviderDelegate {
self.contactsManager = contactsManager
self.notificationsAdapter = notificationsAdapter
self.provider = CXProvider(configuration: type(of: self).providerConfiguration)
self.audioActivity = AudioActivity(audioDescription: "CallKitCallUIAdaptee audio")
super.init()
@ -348,15 +346,16 @@ final class CallKitCallUIAdaptee: NSObject, CallUIAdaptee, CXProviderDelegate {
func provider(_ provider: CXProvider, didActivate audioSession: AVAudioSession) {
AssertIsOnMainThread()
Logger.debug("\(TAG) in \(#function)")
OWSAudioSession.shared.enableRTCAudio(audioActivity: audioActivity)
Logger.debug("\(TAG) Received \(#function)")
OWSAudioSession.shared.isRTCAudioEnabled = true
}
func provider(_ provider: CXProvider, didDeactivate audioSession: AVAudioSession) {
AssertIsOnMainThread()
Logger.debug("\(TAG) in \(#function)")
OWSAudioSession.shared.disableRTCAudio(audioActivity: audioActivity)
Logger.debug("\(TAG) Received \(#function)")
OWSAudioSession.shared.isRTCAudioEnabled = false
}
// MARK: - Util

@ -142,15 +142,14 @@ public class OWSAudioSession: NSObject {
/**
* Because we useManualAudio with our RTCAudioSession, we have to start/stop the recording audio session ourselves.
* See "WebRTC Audio" comment for details on manual audio.
* See header for details on manual audio.
*/
public func enableRTCAudio(audioActivity: AudioActivity) {
startAudioActivity(audioActivity)
rtcAudioSession.isAudioEnabled = true
}
public func disableRTCAudio(audioActivity: AudioActivity) {
rtcAudioSession.isAudioEnabled = false
endAudioActivity(audioActivity)
public var isRTCAudioEnabled: Bool {
get {
return rtcAudioSession.isAudioEnabled
}
set {
rtcAudioSession.isAudioEnabled = newValue
}
}
}

Loading…
Cancel
Save