Signal-iOS/Signal/Calls/CallLinkCall.swift
2024-06-18 12:13:55 -05:00

47 lines
1.2 KiB
Swift

//
// Copyright 2024 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
//
import Foundation
import SignalCoreKit
import SignalRingRTC
final class CallLinkCall: Signal.GroupCall {
let callLink: CallLink
let adminPasskey: Data?
let callLinkState: CallLinkState
init(
callLink: CallLink,
adminPasskey: Data?,
callLinkState: CallLinkState,
ringRtcCall: SignalRingRTC.GroupCall,
videoCaptureController: VideoCaptureController
) {
self.callLink = callLink
self.adminPasskey = adminPasskey
self.callLinkState = callLinkState
super.init(
audioDescription: "[SignalCall] Call link call",
ringRtcCall: ringRtcCall,
videoCaptureController: videoCaptureController
)
}
var mayNeedToAskToJoin: Bool {
return callLinkState.requiresAdminApproval && adminPasskey == nil
}
var localizedName: String {
return self.callLinkState.name ?? Self.defaultLocalizedName
}
static var defaultLocalizedName: String {
return OWSLocalizedString(
"SIGNAL_CALL",
comment: "Shown in the header when the user hasn't provided a custom name for a call."
)
}
}