From 602a5953f293e28b5bf7e601a2464a1021caa5b3 Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Fri, 6 Jan 2017 09:21:58 +0100 Subject: [PATCH] respect silence switch for incoming ringing // FREEBIE --- .../view controllers/CallViewController.swift | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/Signal/src/view controllers/CallViewController.swift b/Signal/src/view controllers/CallViewController.swift index 92e3d3d33..6ae996809 100644 --- a/Signal/src/view controllers/CallViewController.swift +++ b/Signal/src/view controllers/CallViewController.swift @@ -57,15 +57,29 @@ import PromiseKit private func handleLocalRinging() { Logger.debug("\(TAG) \(#function)") - audioManager.setAudioEnabled(true) audioManager.handleInboundRing() + do { + // Respect silent switch. + try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategorySoloAmbient) + Logger.debug("\(TAG) set audio category to SoloAmbient") + } catch { + Logger.error("\(TAG) failed to change audio category to soloAmbient in \(#function)") + } + vibrateTimer = Timer.scheduledTimer(timeInterval: vibrateRepeatDuration, target: self, selector: #selector(vibrate), userInfo: nil, repeats: true) } private func handleConnected() { Logger.debug("\(TAG) \(#function)") stopRinging() + do { + // Start recording + try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayAndRecord) + Logger.debug("\(TAG) set audio category to PlayAndRecord") + } catch { + Logger.error("\(TAG) failed to change audio category to soloAmbient in \(#function)") + } } private func handleLocalFailure() {