mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-02 21:32:34 +00:00
Add MatrixClient.isUserStatusSupported
This commit is contained in:
+3
@@ -99,6 +99,9 @@ interface MatrixClient {
|
|||||||
|
|
||||||
/** Clears both m.status and m.call profile fields (maps to DELETE on the profile endpoint per MSC4426). */
|
/** Clears both m.status and m.call profile fields (maps to DELETE on the profile endpoint per MSC4426). */
|
||||||
suspend fun clearUserStatus(): Result<Unit>
|
suspend fun clearUserStatus(): Result<Unit>
|
||||||
|
|
||||||
|
/** Whether the homeserver advertises support for user status (MSC4426). */
|
||||||
|
suspend fun isUserStatusSupported(): Result<Boolean>
|
||||||
suspend fun joinRoom(roomId: RoomId): Result<RoomInfo?>
|
suspend fun joinRoom(roomId: RoomId): Result<RoomInfo?>
|
||||||
suspend fun joinRoomByIdOrAlias(roomIdOrAlias: RoomIdOrAlias, serverNames: List<String>): Result<RoomInfo?>
|
suspend fun joinRoomByIdOrAlias(roomIdOrAlias: RoomIdOrAlias, serverNames: List<String>): Result<RoomInfo?>
|
||||||
suspend fun knockRoom(roomIdOrAlias: RoomIdOrAlias, message: String, serverNames: List<String>): Result<RoomInfo?>
|
suspend fun knockRoom(roomIdOrAlias: RoomIdOrAlias, message: String, serverNames: List<String>): Result<RoomInfo?>
|
||||||
|
|||||||
+6
@@ -505,6 +505,12 @@ class RustMatrixClient(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override suspend fun isUserStatusSupported(): Result<Boolean> = withContext(sessionDispatcher) {
|
||||||
|
runCatchingExceptions {
|
||||||
|
innerClient.isUserStatusSupported()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
override suspend fun joinRoom(roomId: RoomId): Result<RoomInfo?> = withContext(sessionDispatcher) {
|
override suspend fun joinRoom(roomId: RoomId): Result<RoomInfo?> = withContext(sessionDispatcher) {
|
||||||
runCatchingExceptions {
|
runCatchingExceptions {
|
||||||
innerClient.joinRoomById(roomId.value).destroy()
|
innerClient.joinRoomById(roomId.value).destroy()
|
||||||
|
|||||||
+3
@@ -144,6 +144,7 @@ class FakeMatrixClient(
|
|||||||
private set
|
private set
|
||||||
var setUserStatusResult: Result<Unit> = Result.success(Unit)
|
var setUserStatusResult: Result<Unit> = Result.success(Unit)
|
||||||
var clearUserStatusResult: Result<Unit> = Result.success(Unit)
|
var clearUserStatusResult: Result<Unit> = Result.success(Unit)
|
||||||
|
var isUserStatusSupportedResult: Result<Boolean> = Result.success(true)
|
||||||
|
|
||||||
private val _userProfile: MutableStateFlow<MatrixUser> = MutableStateFlow(MatrixUser(sessionId, userDisplayName, userAvatarUrl))
|
private val _userProfile: MutableStateFlow<MatrixUser> = MutableStateFlow(MatrixUser(sessionId, userDisplayName, userAvatarUrl))
|
||||||
override val userProfile: StateFlow<MatrixUser> = _userProfile
|
override val userProfile: StateFlow<MatrixUser> = _userProfile
|
||||||
@@ -288,6 +289,8 @@ class FakeMatrixClient(
|
|||||||
return clearUserStatusResult
|
return clearUserStatusResult
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override suspend fun isUserStatusSupported(): Result<Boolean> = isUserStatusSupportedResult
|
||||||
|
|
||||||
override suspend fun joinRoom(roomId: RoomId): Result<RoomInfo?> = joinRoomLambda(roomId)
|
override suspend fun joinRoom(roomId: RoomId): Result<RoomInfo?> = joinRoomLambda(roomId)
|
||||||
|
|
||||||
override suspend fun joinRoomByIdOrAlias(roomIdOrAlias: RoomIdOrAlias, serverNames: List<String>): Result<RoomInfo?> {
|
override suspend fun joinRoomByIdOrAlias(roomIdOrAlias: RoomIdOrAlias, serverNames: List<String>): Result<RoomInfo?> {
|
||||||
|
|||||||
Reference in New Issue
Block a user