Ensure the user can join the call even if they has joined a call in another session.
This commit is contained in:
parent
58e66963d8
commit
1c78f96148
10 changed files with 116 additions and 1 deletions
|
|
@ -0,0 +1,25 @@
|
|||
/*
|
||||
* Copyright 2024 New Vector Ltd.
|
||||
*
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
* Please see LICENSE in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.call.api
|
||||
|
||||
import io.element.android.libraries.matrix.api.core.RoomId
|
||||
|
||||
/**
|
||||
* Value for the local current call.
|
||||
*/
|
||||
sealed interface CurrentCall {
|
||||
data object None : CurrentCall
|
||||
|
||||
data class RoomCall(
|
||||
val roomId: RoomId,
|
||||
) : CurrentCall
|
||||
|
||||
data class ExternalUrl(
|
||||
val url: String,
|
||||
) : CurrentCall
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* Copyright 2024 New Vector Ltd.
|
||||
*
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
* Please see LICENSE in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.call.api
|
||||
|
||||
import kotlinx.coroutines.flow.StateFlow
|
||||
|
||||
interface CurrentCallObserver {
|
||||
/**
|
||||
* The current call state flow, which will be updated when the active call changes.
|
||||
* This value reflect the local state of the call. It is not updated if the user answers
|
||||
* a call from another session.
|
||||
*/
|
||||
val currentCall: StateFlow<CurrentCall>
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue