From 6eb1951ee6d7810eaa69fa48e52b8b96622fa4bf Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Fri, 16 Feb 2018 17:40:37 -0800 Subject: [PATCH] Don't stop audio until after CallKit audio session is deactivated // FREEBIE --- Signal/src/call/Speakerbox/CallKitCallUIAdaptee.swift | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Signal/src/call/Speakerbox/CallKitCallUIAdaptee.swift b/Signal/src/call/Speakerbox/CallKitCallUIAdaptee.swift index a2ff90b1d..36b9bb230 100644 --- a/Signal/src/call/Speakerbox/CallKitCallUIAdaptee.swift +++ b/Signal/src/call/Speakerbox/CallKitCallUIAdaptee.swift @@ -25,6 +25,7 @@ final class CallKitCallUIAdaptee: NSObject, CallUIAdaptee, CXProviderDelegate { internal let notificationsAdapter: CallNotificationsAdapter internal let contactsManager: OWSContactsManager private let provider: CXProvider + let audioActivity: AudioActivity // CallKit handles incoming ringer stop/start for us. Yay! let hasManualRinger = false @@ -60,6 +61,7 @@ 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]") super.init() @@ -348,6 +350,7 @@ final class CallKitCallUIAdaptee: NSObject, CallUIAdaptee, CXProviderDelegate { Logger.debug("\(TAG) Received \(#function)") + OWSAudioSession.shared.startAudioActivity(self.audioActivity) OWSAudioSession.shared.isRTCAudioEnabled = true } @@ -356,6 +359,7 @@ final class CallKitCallUIAdaptee: NSObject, CallUIAdaptee, CXProviderDelegate { Logger.debug("\(TAG) Received \(#function)") OWSAudioSession.shared.isRTCAudioEnabled = false + OWSAudioSession.shared.endAudioActivity(self.audioActivity) } // MARK: - Util