Make requestSpeakerphone method that takes SignalCall

This commit is contained in:
Marissa Le Coz 2023-11-15 23:40:01 -05:00 committed by GitHub
parent f9d2303a0b
commit e371f8fcf5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 14 additions and 6 deletions

View File

@ -120,20 +120,28 @@ class CallAudioService: NSObject, CallObserver {
self.isSpeakerEnabled = isEnabled
}
public func requestSpeakerphone(call: GroupCall, isEnabled: Bool) {
private func requestSpeakerphone(call: GroupCall, isEnabled: Bool) {
// If toggled for an group call, save the enablement state and
// update the AudioSession.
self.isSpeakerEnabled = isEnabled
self.ensureProperAudioSession(call: call)
}
public func requestSpeakerphone(call: IndividualCall, isEnabled: Bool) {
private func requestSpeakerphone(call: IndividualCall, isEnabled: Bool) {
// If toggled for an individual call, save the enablement state and
// update the AudioSession.
self.isSpeakerEnabled = isEnabled
self.ensureProperAudioSession(call: call)
}
public func requestSpeakerphone(call: SignalCall, isEnabled: Bool) {
if call.isGroupCall {
requestSpeakerphone(call: call.groupCall, isEnabled: isEnabled)
} else if call.isIndividualCall {
requestSpeakerphone(call: call.individualCall, isEnabled: isEnabled)
}
}
private func audioRouteDidChange() {
guard let currentAudioSource = currentAudioSource else {
Logger.warn("Switched to route without audio source")

View File

@ -872,7 +872,7 @@ extension GroupCallViewController: CallControlsDelegate {
callService.audioService.presentRoutePicker()
} else {
sender.isSelected = !sender.isSelected
callService.audioService.requestSpeakerphone(call: self.call.groupCall, isEnabled: sender.isSelected)
callService.audioService.requestSpeakerphone(call: self.call, isEnabled: sender.isSelected)
}
}
@ -889,7 +889,7 @@ extension GroupCallViewController: CallControlsDelegate {
// When turning off video, default speakerphone to on.
if !sender.isSelected && !callService.audioService.hasExternalInputs {
callControls.audioSourceButton.isSelected = true
callService.audioService.requestSpeakerphone(call: self.call.groupCall, isEnabled: true)
callService.audioService.requestSpeakerphone(call: self.call, isEnabled: true)
}
}
@ -965,7 +965,7 @@ extension GroupCallViewController: IncomingCallControlsDelegate {
callService.updateIsLocalVideoMuted(isLocalVideoMuted: videoMute)
// When turning off video, default speakerphone to on.
if videoMute && !callService.audioService.hasExternalInputs {
callService.audioService.requestSpeakerphone(call: call.groupCall, isEnabled: true)
callService.audioService.requestSpeakerphone(call: call, isEnabled: true)
}
callService.callUIAdapter.answerCall(call)

View File

@ -1106,7 +1106,7 @@ class IndividualCallViewController: OWSViewController, CallObserver, CallAudioSe
Logger.info("")
button.isSelected = !button.isSelected
callService.audioService.requestSpeakerphone(call: call.individualCall, isEnabled: button.isSelected)
callService.audioService.requestSpeakerphone(call: call, isEnabled: button.isSelected)
}
@objc