Don't stop audio until after CallKit audio session is deactivated

// FREEBIE
pull/1/head
Michael Kirk 7 years ago
parent 9b73ff14ba
commit 6eb1951ee6

@ -25,6 +25,7 @@ final class CallKitCallUIAdaptee: NSObject, CallUIAdaptee, CXProviderDelegate {
internal let notificationsAdapter: CallNotificationsAdapter internal let notificationsAdapter: CallNotificationsAdapter
internal let contactsManager: OWSContactsManager internal let contactsManager: OWSContactsManager
private let provider: CXProvider private let provider: CXProvider
let audioActivity: AudioActivity
// CallKit handles incoming ringer stop/start for us. Yay! // CallKit handles incoming ringer stop/start for us. Yay!
let hasManualRinger = false let hasManualRinger = false
@ -60,6 +61,7 @@ final class CallKitCallUIAdaptee: NSObject, CallUIAdaptee, CXProviderDelegate {
self.contactsManager = contactsManager self.contactsManager = contactsManager
self.notificationsAdapter = notificationsAdapter self.notificationsAdapter = notificationsAdapter
self.provider = CXProvider(configuration: type(of: self).providerConfiguration) self.provider = CXProvider(configuration: type(of: self).providerConfiguration)
self.audioActivity = AudioActivity(audioDescription: "[CallKitCallUIAdaptee]")
super.init() super.init()
@ -348,6 +350,7 @@ final class CallKitCallUIAdaptee: NSObject, CallUIAdaptee, CXProviderDelegate {
Logger.debug("\(TAG) Received \(#function)") Logger.debug("\(TAG) Received \(#function)")
OWSAudioSession.shared.startAudioActivity(self.audioActivity)
OWSAudioSession.shared.isRTCAudioEnabled = true OWSAudioSession.shared.isRTCAudioEnabled = true
} }
@ -356,6 +359,7 @@ final class CallKitCallUIAdaptee: NSObject, CallUIAdaptee, CXProviderDelegate {
Logger.debug("\(TAG) Received \(#function)") Logger.debug("\(TAG) Received \(#function)")
OWSAudioSession.shared.isRTCAudioEnabled = false OWSAudioSession.shared.isRTCAudioEnabled = false
OWSAudioSession.shared.endAudioActivity(self.audioActivity)
} }
// MARK: - Util // MARK: - Util

Loading…
Cancel
Save