Move isElementCallAvailable fun to new SessionEnterpriseService, which implementations can get the current MatrixClient.

This commit is contained in:
Benoit Marty 2025-06-11 14:34:33 +02:00
parent eb9204e31f
commit 432f1ce50a
15 changed files with 95 additions and 20 deletions

View file

@ -164,6 +164,11 @@ interface MatrixClient {
* Check if the user can report a room.
*/
suspend fun canReportRoom(): Boolean
/**
* Return true if Livekit Rtc is supported, i.e. if Element Call is available.
*/
suspend fun isLivekitRtcSupported(): Boolean
}
/**

View file

@ -678,6 +678,10 @@ class RustMatrixClient(
}.getOrDefault(false)
}
override suspend fun isLivekitRtcSupported(): Boolean = withContext(sessionDispatcher) {
innerClient.isLivekitRtcSupported()
}
private suspend fun File.getCacheSize(
includeCryptoDb: Boolean = false,
): Long = withContext(sessionDispatcher) {

View file

@ -89,6 +89,7 @@ class FakeMatrixClient(
private val ignoreUserResult: (UserId) -> Result<Unit> = { lambdaError() },
private var unIgnoreUserResult: (UserId) -> Result<Unit> = { Result.success(Unit) },
private val canReportRoomLambda: () -> Boolean = { false },
private val isLivekitRtcSupportedLambda: () -> Boolean = { false },
override val ignoredUsersFlow: StateFlow<ImmutableList<UserId>> = MutableStateFlow(persistentListOf()),
) : MatrixClient {
var setDisplayNameCalled: Boolean = false
@ -334,4 +335,8 @@ class FakeMatrixClient(
override suspend fun canReportRoom(): Boolean {
return canReportRoomLambda()
}
override suspend fun isLivekitRtcSupported(): Boolean {
return isLivekitRtcSupportedLambda()
}
}