21 lines
652 B
Swift
21 lines
652 B
Swift
//
|
|
// Copyright 2025 Element Creations Ltd.
|
|
// Copyright 2025 New Vector Ltd.
|
|
//
|
|
// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
|
|
// Please see LICENSE files in the repository root for full details.
|
|
//
|
|
|
|
import MatrixRustSDK
|
|
|
|
extension RoomProtocol {
|
|
func joinCallIntent(voiceOnly: Bool = false) async -> Intent {
|
|
switch await (hasActiveRoomCall(), isDirect()) {
|
|
case (true, true): voiceOnly ? .joinExistingDmVoice : .joinExistingDm
|
|
case (true, false): .joinExisting
|
|
case (false, true): voiceOnly ? .startCallDmVoice : .startCallDm
|
|
case (false, false): .startCall
|
|
}
|
|
}
|
|
}
|