fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v25.6.23 (#4917)

* fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v25.6.23

* Fix API break.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Benoit Marty <benoit@matrix.org>
This commit is contained in:
renovate[bot] 2025-06-24 11:23:20 +02:00 committed by GitHub
parent 342aae624a
commit bfd684cd53
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
20 changed files with 99 additions and 110 deletions

View file

@ -13,7 +13,7 @@ import io.element.android.libraries.matrix.api.core.SessionId
import io.element.android.libraries.matrix.api.core.ThreadId
import io.element.android.libraries.matrix.api.core.UserId
import io.element.android.libraries.matrix.api.room.draft.ComposerDraft
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevels
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevelsValues
import io.element.android.libraries.matrix.api.room.tombstone.PredecessorRoom
import io.element.android.libraries.matrix.api.roomdirectory.RoomVisibility
import io.element.android.libraries.matrix.api.timeline.ReceiptType
@ -89,7 +89,7 @@ interface BaseRoom : Closeable {
/**
* Gets the power levels of the room.
*/
suspend fun powerLevels(): Result<RoomPowerLevels>
suspend fun powerLevels(): Result<RoomPowerLevelsValues>
/**
* Gets the role of the user with the provided [userId] in the room.

View file

@ -16,7 +16,7 @@ import io.element.android.libraries.matrix.api.encryption.identity.IdentityState
import io.element.android.libraries.matrix.api.room.history.RoomHistoryVisibility
import io.element.android.libraries.matrix.api.room.join.JoinRule
import io.element.android.libraries.matrix.api.room.knock.KnockRequest
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevels
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevelsValues
import io.element.android.libraries.matrix.api.room.powerlevels.UserRoleChange
import io.element.android.libraries.matrix.api.roomdirectory.RoomVisibility
import io.element.android.libraries.matrix.api.timeline.Timeline
@ -118,9 +118,9 @@ interface JoinedRoom : BaseRoom {
suspend fun updateUsersRoles(changes: List<UserRoleChange>): Result<Unit>
suspend fun updatePowerLevels(roomPowerLevels: RoomPowerLevels): Result<Unit>
suspend fun updatePowerLevels(roomPowerLevelsValues: RoomPowerLevelsValues): Result<Unit>
suspend fun resetPowerLevels(): Result<RoomPowerLevels>
suspend fun resetPowerLevels(): Result<Unit>
suspend fun setName(name: String): Result<Unit>

View file

@ -12,7 +12,7 @@ import io.element.android.libraries.matrix.api.room.BaseRoom
import io.element.android.libraries.matrix.api.room.MessageEventType
import io.element.android.libraries.matrix.api.room.StateEventType
data class RoomPowerLevels(
data class RoomPowerLevelsValues(
val ban: Long,
val invite: Long,
val kick: Long,

View file

@ -27,7 +27,7 @@ import io.element.android.libraries.matrix.api.room.RoomNotificationSettingsStat
import io.element.android.libraries.matrix.api.room.history.RoomHistoryVisibility
import io.element.android.libraries.matrix.api.room.join.JoinRule
import io.element.android.libraries.matrix.api.room.knock.KnockRequest
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevels
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevelsValues
import io.element.android.libraries.matrix.api.room.powerlevels.UserRoleChange
import io.element.android.libraries.matrix.api.room.roomNotificationSettings
import io.element.android.libraries.matrix.api.roomdirectory.RoomVisibility
@ -40,7 +40,6 @@ import io.element.android.libraries.matrix.impl.room.history.map
import io.element.android.libraries.matrix.impl.room.join.map
import io.element.android.libraries.matrix.impl.room.knock.RustKnockRequest
import io.element.android.libraries.matrix.impl.room.member.RoomMemberListFetcher
import io.element.android.libraries.matrix.impl.room.powerlevels.RoomPowerLevelsMapper
import io.element.android.libraries.matrix.impl.roomdirectory.map
import io.element.android.libraries.matrix.impl.timeline.RustTimeline
import io.element.android.libraries.matrix.impl.util.MessageEventContent
@ -364,25 +363,25 @@ class JoinedRustRoom(
}
}
override suspend fun updatePowerLevels(roomPowerLevels: RoomPowerLevels): Result<Unit> = withContext(roomDispatcher) {
override suspend fun updatePowerLevels(roomPowerLevelsValues: RoomPowerLevelsValues): Result<Unit> = withContext(roomDispatcher) {
runCatchingExceptions {
val changes = RoomPowerLevelChanges(
ban = roomPowerLevels.ban,
invite = roomPowerLevels.invite,
kick = roomPowerLevels.kick,
redact = roomPowerLevels.redactEvents,
eventsDefault = roomPowerLevels.sendEvents,
roomName = roomPowerLevels.roomName,
roomAvatar = roomPowerLevels.roomAvatar,
roomTopic = roomPowerLevels.roomTopic,
ban = roomPowerLevelsValues.ban,
invite = roomPowerLevelsValues.invite,
kick = roomPowerLevelsValues.kick,
redact = roomPowerLevelsValues.redactEvents,
eventsDefault = roomPowerLevelsValues.sendEvents,
roomName = roomPowerLevelsValues.roomName,
roomAvatar = roomPowerLevelsValues.roomAvatar,
roomTopic = roomPowerLevelsValues.roomTopic,
)
innerRoom.applyPowerLevelChanges(changes)
}
}
override suspend fun resetPowerLevels(): Result<RoomPowerLevels> = withContext(roomDispatcher) {
override suspend fun resetPowerLevels(): Result<Unit> = withContext(roomDispatcher) {
runCatchingExceptions {
RoomPowerLevelsMapper.map(innerRoom.resetPowerLevels())
innerRoom.resetPowerLevels().let {}
}
}

View file

@ -24,14 +24,14 @@ import io.element.android.libraries.matrix.api.room.RoomMembersState
import io.element.android.libraries.matrix.api.room.RoomMembershipObserver
import io.element.android.libraries.matrix.api.room.StateEventType
import io.element.android.libraries.matrix.api.room.draft.ComposerDraft
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevels
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevelsValues
import io.element.android.libraries.matrix.api.room.tombstone.PredecessorRoom
import io.element.android.libraries.matrix.api.roomdirectory.RoomVisibility
import io.element.android.libraries.matrix.api.timeline.ReceiptType
import io.element.android.libraries.matrix.impl.room.draft.into
import io.element.android.libraries.matrix.impl.room.member.RoomMemberListFetcher
import io.element.android.libraries.matrix.impl.room.member.RoomMemberMapper
import io.element.android.libraries.matrix.impl.room.powerlevels.RoomPowerLevelsMapper
import io.element.android.libraries.matrix.impl.room.powerlevels.RoomPowerLevelsValuesMapper
import io.element.android.libraries.matrix.impl.room.tombstone.map
import io.element.android.libraries.matrix.impl.roomdirectory.map
import io.element.android.libraries.matrix.impl.timeline.toRustReceiptType
@ -132,9 +132,11 @@ class RustBaseRoom(
}
}
override suspend fun powerLevels(): Result<RoomPowerLevels> = withContext(roomDispatcher) {
override suspend fun powerLevels(): Result<RoomPowerLevelsValues> = withContext(roomDispatcher) {
runCatchingExceptions {
RoomPowerLevelsMapper.map(innerRoom.getPowerLevels())
innerRoom.getPowerLevels().use {
RoomPowerLevelsValuesMapper.map(it.values())
}
}
}
@ -167,55 +169,55 @@ class RustBaseRoom(
override suspend fun canUserInvite(userId: UserId): Result<Boolean> = withContext(roomDispatcher) {
runCatchingExceptions {
innerRoom.canUserInvite(userId.value)
innerRoom.getPowerLevels().use { it.canUserInvite(userId.value) }
}
}
override suspend fun canUserKick(userId: UserId): Result<Boolean> = withContext(roomDispatcher) {
runCatchingExceptions {
innerRoom.canUserKick(userId.value)
innerRoom.getPowerLevels().use { it.canUserKick(userId.value) }
}
}
override suspend fun canUserBan(userId: UserId): Result<Boolean> = withContext(roomDispatcher) {
runCatchingExceptions {
innerRoom.canUserBan(userId.value)
innerRoom.getPowerLevels().use { it.canUserBan(userId.value) }
}
}
override suspend fun canUserRedactOwn(userId: UserId): Result<Boolean> = withContext(roomDispatcher) {
runCatchingExceptions {
innerRoom.canUserRedactOwn(userId.value)
innerRoom.getPowerLevels().use { it.canUserRedactOwn(userId.value) }
}
}
override suspend fun canUserRedactOther(userId: UserId): Result<Boolean> = withContext(roomDispatcher) {
runCatchingExceptions {
innerRoom.canUserRedactOther(userId.value)
innerRoom.getPowerLevels().use { it.canUserRedactOther(userId.value) }
}
}
override suspend fun canUserSendState(userId: UserId, type: StateEventType): Result<Boolean> = withContext(roomDispatcher) {
runCatchingExceptions {
innerRoom.canUserSendState(userId.value, type.map())
innerRoom.getPowerLevels().use { it.canUserSendState(userId.value, type.map()) }
}
}
override suspend fun canUserSendMessage(userId: UserId, type: MessageEventType): Result<Boolean> = withContext(roomDispatcher) {
runCatchingExceptions {
innerRoom.canUserSendMessage(userId.value, type.map())
innerRoom.getPowerLevels().use { it.canUserSendMessage(userId.value, type.map()) }
}
}
override suspend fun canUserTriggerRoomNotification(userId: UserId): Result<Boolean> = withContext(roomDispatcher) {
runCatchingExceptions {
innerRoom.canUserTriggerRoomNotification(userId.value)
innerRoom.getPowerLevels().use { it.canUserTriggerRoomNotification(userId.value) }
}
}
override suspend fun canUserPinUnpin(userId: UserId): Result<Boolean> = withContext(roomDispatcher) {
runCatchingExceptions {
innerRoom.canUserPinUnpin(userId.value)
innerRoom.getPowerLevels().use { it.canUserPinUnpin(userId.value) }
}
}

View file

@ -1,26 +0,0 @@
/*
* Copyright 2024 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.
*/
package io.element.android.libraries.matrix.impl.room.powerlevels
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevels
import org.matrix.rustcomponents.sdk.RoomPowerLevels as RustRoomPowerLevels
object RoomPowerLevelsMapper {
fun map(roomPowerLevels: RustRoomPowerLevels): RoomPowerLevels {
return RoomPowerLevels(
ban = roomPowerLevels.ban,
invite = roomPowerLevels.invite,
kick = roomPowerLevels.kick,
sendEvents = roomPowerLevels.eventsDefault,
redactEvents = roomPowerLevels.redact,
roomName = roomPowerLevels.roomName,
roomAvatar = roomPowerLevels.roomAvatar,
roomTopic = roomPowerLevels.roomTopic
)
}
}

View file

@ -0,0 +1,26 @@
/*
* Copyright 2024 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.
*/
package io.element.android.libraries.matrix.impl.room.powerlevels
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevelsValues
import org.matrix.rustcomponents.sdk.RoomPowerLevelsValues as RustRoomPowerLevelsValues
object RoomPowerLevelsValuesMapper {
fun map(values: RustRoomPowerLevelsValues): RoomPowerLevelsValues {
return RoomPowerLevelsValues(
ban = values.ban,
invite = values.invite,
kick = values.kick,
sendEvents = values.eventsDefault,
redactEvents = values.redact,
roomName = values.roomName,
roomAvatar = values.roomAvatar,
roomTopic = values.roomTopic,
)
}
}

View file

@ -7,9 +7,9 @@
package io.element.android.libraries.matrix.impl.fixtures.factories
import org.matrix.rustcomponents.sdk.RoomPowerLevels
import org.matrix.rustcomponents.sdk.RoomPowerLevelsValues
internal fun aRustRoomPowerLevels(
internal fun aRustRoomPowerLevelsValues(
ban: Long,
invite: Long,
kick: Long,
@ -20,7 +20,7 @@ internal fun aRustRoomPowerLevels(
roomName: Long,
roomAvatar: Long,
roomTopic: Long,
) = RoomPowerLevels(
) = RoomPowerLevelsValues(
ban = ban,
invite = invite,
kick = kick,

View file

@ -8,16 +8,16 @@
package io.element.android.libraries.matrix.impl.room.powerlevels
import com.google.common.truth.Truth.assertThat
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevels
import io.element.android.libraries.matrix.impl.fixtures.factories.aRustRoomPowerLevels
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevelsValues
import io.element.android.libraries.matrix.impl.fixtures.factories.aRustRoomPowerLevelsValues
import org.junit.Test
class RoomPowerLevelsMapperTest {
class RoomPowerLevelsValuesMapperTest {
@Test
fun `test that mapping of RoomPowerLevels is correct`() {
fun `test that mapping of RoomPowerLevelsValues is correct`() {
assertThat(
RoomPowerLevelsMapper.map(
aRustRoomPowerLevels(
RoomPowerLevelsValuesMapper.map(
aRustRoomPowerLevelsValues(
ban = 1,
invite = 2,
kick = 3,
@ -31,7 +31,7 @@ class RoomPowerLevelsMapperTest {
)
)
).isEqualTo(
RoomPowerLevels(
RoomPowerLevelsValues(
ban = 1,
invite = 2,
kick = 3,

View file

@ -20,7 +20,7 @@ import io.element.android.libraries.matrix.api.room.RoomMember
import io.element.android.libraries.matrix.api.room.RoomMembersState
import io.element.android.libraries.matrix.api.room.StateEventType
import io.element.android.libraries.matrix.api.room.draft.ComposerDraft
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevels
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevelsValues
import io.element.android.libraries.matrix.api.room.tombstone.PredecessorRoom
import io.element.android.libraries.matrix.api.roomdirectory.RoomVisibility
import io.element.android.libraries.matrix.api.timeline.ReceiptType
@ -57,7 +57,7 @@ class FakeBaseRoom(
private val canUserPinUnpinResult: (UserId) -> Result<Boolean> = { lambdaError() },
private val setIsFavoriteResult: (Boolean) -> Result<Unit> = { lambdaError() },
private val markAsReadResult: (ReceiptType) -> Result<Unit> = { Result.success(Unit) },
private val powerLevelsResult: () -> Result<RoomPowerLevels> = { lambdaError() },
private val powerLevelsResult: () -> Result<RoomPowerLevelsValues> = { lambdaError() },
private val leaveRoomLambda: () -> Result<Unit> = { lambdaError() },
private val updateMembersResult: () -> Unit = { lambdaError() },
private val getMembersResult: (Int) -> Result<List<RoomMember>> = { lambdaError() },
@ -93,7 +93,7 @@ class FakeBaseRoom(
subscribeToSyncLambda()
}
override suspend fun powerLevels(): Result<RoomPowerLevels> {
override suspend fun powerLevels(): Result<RoomPowerLevelsValues> {
return powerLevelsResult()
}
@ -225,7 +225,7 @@ class FakeBaseRoom(
override fun predecessorRoom(): PredecessorRoom? = predecessorRoomResult()
}
fun defaultRoomPowerLevels() = RoomPowerLevels(
fun defaultRoomPowerLevels() = RoomPowerLevelsValues(
ban = 50,
invite = 0,
kick = 50,

View file

@ -25,7 +25,7 @@ import io.element.android.libraries.matrix.api.room.RoomNotificationSettingsStat
import io.element.android.libraries.matrix.api.room.history.RoomHistoryVisibility
import io.element.android.libraries.matrix.api.room.join.JoinRule
import io.element.android.libraries.matrix.api.room.knock.KnockRequest
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevels
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevelsValues
import io.element.android.libraries.matrix.api.room.powerlevels.UserRoleChange
import io.element.android.libraries.matrix.api.roomdirectory.RoomVisibility
import io.element.android.libraries.matrix.api.timeline.Timeline
@ -66,8 +66,8 @@ class FakeJoinedRoom(
private val updateAvatarResult: (String, ByteArray) -> Result<Unit> = { _, _ -> lambdaError() },
private val removeAvatarResult: () -> Result<Unit> = { lambdaError() },
private val updateUserRoleResult: (List<UserRoleChange>) -> Result<Unit> = { lambdaError() },
private val updatePowerLevelsResult: (RoomPowerLevels) -> Result<Unit> = { lambdaError() },
private val resetPowerLevelsResult: () -> Result<RoomPowerLevels> = { lambdaError() },
private val updatePowerLevelsResult: (RoomPowerLevelsValues) -> Result<Unit> = { lambdaError() },
private val resetPowerLevelsResult: () -> Result<Unit> = { lambdaError() },
private val reportContentResult: (EventId, String, UserId?) -> Result<Unit> = { _, _, _ -> lambdaError() },
private val kickUserResult: (UserId, String?) -> Result<Unit> = { _, _ -> lambdaError() },
private val banUserResult: (UserId, String?) -> Result<Unit> = { _, _ -> lambdaError() },
@ -162,11 +162,11 @@ class FakeJoinedRoom(
updateUserRoleResult(changes)
}
override suspend fun updatePowerLevels(roomPowerLevels: RoomPowerLevels): Result<Unit> = simulateLongTask {
updatePowerLevelsResult(roomPowerLevels)
override suspend fun updatePowerLevels(roomPowerLevelsValues: RoomPowerLevelsValues): Result<Unit> = simulateLongTask {
updatePowerLevelsResult(roomPowerLevelsValues)
}
override suspend fun resetPowerLevels(): Result<RoomPowerLevels> = simulateLongTask {
override suspend fun resetPowerLevels(): Result<Unit> = simulateLongTask {
resetPowerLevelsResult()
}