fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v26.03.23 (#6444)
* fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v26.03.23 * Fix `RoomInfo` test fixture * Add `activeCallIntentConsensus` to `RoomInfo` --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Jorge Martín <jorgem@element.io>
This commit is contained in:
parent
21898cafc2
commit
a6a63736e7
10 changed files with 93 additions and 1 deletions
|
|
@ -0,0 +1,43 @@
|
|||
/*
|
||||
* Copyright (c) 2026 Element Creations Ltd.
|
||||
*
|
||||
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.libraries.matrix.api.room
|
||||
|
||||
import io.element.android.libraries.matrix.api.notification.CallIntent
|
||||
|
||||
/**
|
||||
* Represents the consensus state of [CallIntent] among room members.
|
||||
* Call members can advertise their intent to use audio or video, clients can
|
||||
* use this in the UI and also to decide to start camera or not when joining.
|
||||
*
|
||||
* This enum distinguishes between full consensus (all members advertise and
|
||||
* agree), partial consensus (only some members advertise, but those who do
|
||||
* agree), and no consensus (either no one advertises or advertisers disagree).
|
||||
*/
|
||||
sealed interface CallIntentConsensus {
|
||||
/**
|
||||
* All members advertise and agree on the same [callIntent].
|
||||
*/
|
||||
data class Full(val callIntent: CallIntent) : CallIntentConsensus
|
||||
|
||||
/**
|
||||
* Some members advertise and agree on the same [callIntent], but not all of them.
|
||||
*/
|
||||
data class Partial(
|
||||
/** The call intent that the agreeing members have advertised. */
|
||||
val callIntent: CallIntent,
|
||||
/** The number of members who advertise and agree on the same [callIntent]. */
|
||||
val agreeingCount: Int,
|
||||
/** The total number of members in the call. */
|
||||
val totalCount: Int,
|
||||
) : CallIntentConsensus
|
||||
|
||||
/**
|
||||
* No consensus. No one advertises or advertisers disagree.
|
||||
*/
|
||||
data object None : CallIntentConsensus
|
||||
}
|
||||
|
|
@ -77,6 +77,7 @@ data class RoomInfo(
|
|||
val roomVersion: String?,
|
||||
val privilegedCreatorRole: Boolean,
|
||||
val isLowPriority: Boolean,
|
||||
val activeCallIntentConsensus: CallIntentConsensus,
|
||||
) {
|
||||
val aliases: List<RoomAlias>
|
||||
get() = listOfNotNull(canonicalAlias) + alternativeAliases
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue