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

@ -9,7 +9,7 @@ package io.element.android.features.roomdetails.impl.analytics
import im.vector.app.features.analytics.plan.RoomModeration
import io.element.android.libraries.matrix.api.room.RoomMember
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevels
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevelsValues
import io.element.android.services.analytics.api.AnalyticsService
internal fun RoomMember.Role.toAnalyticsMemberRole(): RoomModeration.Role = when (this) {
@ -22,7 +22,7 @@ internal fun analyticsMemberRoleForPowerLevel(powerLevel: Long): RoomModeration.
return RoomMember.Role.forPowerLevel(powerLevel).toAnalyticsMemberRole()
}
internal fun AnalyticsService.trackPermissionChangeAnalytics(initial: RoomPowerLevels?, updated: RoomPowerLevels) {
internal fun AnalyticsService.trackPermissionChangeAnalytics(initial: RoomPowerLevelsValues?, updated: RoomPowerLevelsValues) {
if (updated.ban != initial?.ban) {
capture(RoomModeration(RoomModeration.Action.ChangePermissionsBanMembers, analyticsMemberRoleForPowerLevel(updated.ban)))
}

View file

@ -105,7 +105,7 @@ class RolesAndPermissionsPresenter @Inject constructor(
) = launch(dispatchers.io) {
runUpdatingState(resetPermissionsAction) {
analyticsService.capture(RoomModeration(RoomModeration.Action.ResetPermissions))
room.resetPowerLevels().map {}
room.resetPowerLevels()
}
}

View file

@ -22,7 +22,7 @@ import io.element.android.features.roomdetails.impl.analytics.trackPermissionCha
import io.element.android.libraries.architecture.AsyncAction
import io.element.android.libraries.architecture.Presenter
import io.element.android.libraries.matrix.api.room.JoinedRoom
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevels
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevelsValues
import io.element.android.services.analytics.api.AnalyticsService
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf
@ -59,8 +59,8 @@ class ChangeRoomPermissionsPresenter @AssistedInject constructor(
private val items: ImmutableList<RoomPermissionType> = itemsForSection(section)
private var initialPermissions by mutableStateOf<RoomPowerLevels?>(null)
private var currentPermissions by mutableStateOf<RoomPowerLevels?>(null)
private var initialPermissions by mutableStateOf<RoomPowerLevelsValues?>(null)
private var currentPermissions by mutableStateOf<RoomPowerLevelsValues?>(null)
private var saveAction by mutableStateOf<AsyncAction<Unit>>(AsyncAction.Uninitialized)
private var confirmExitAction by mutableStateOf<AsyncAction<Unit>>(AsyncAction.Uninitialized)

View file

@ -8,12 +8,12 @@
package io.element.android.features.roomdetails.impl.rolesandpermissions.permissions
import io.element.android.libraries.architecture.AsyncAction
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevels
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevelsValues
import kotlinx.collections.immutable.ImmutableList
data class ChangeRoomPermissionsState(
val section: ChangeRoomPermissionsSection,
val currentPermissions: RoomPowerLevels?,
val currentPermissions: RoomPowerLevelsValues?,
val items: ImmutableList<RoomPermissionType>,
val hasChanges: Boolean,
val saveAction: AsyncAction<Unit>,

View file

@ -10,7 +10,7 @@ package io.element.android.features.roomdetails.impl.rolesandpermissions.permiss
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import io.element.android.libraries.architecture.AsyncAction
import io.element.android.libraries.matrix.api.room.RoomMember
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevels
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevelsValues
import kotlinx.collections.immutable.toPersistentList
class ChangeRoomPermissionsStateProvider : PreviewParameterProvider<ChangeRoomPermissionsState> {
@ -36,7 +36,7 @@ class ChangeRoomPermissionsStateProvider : PreviewParameterProvider<ChangeRoomPe
internal fun aChangeRoomPermissionsState(
section: ChangeRoomPermissionsSection,
currentPermissions: RoomPowerLevels = previewPermissions(),
currentPermissions: RoomPowerLevelsValues = previewPermissions(),
items: List<RoomPermissionType> = ChangeRoomPermissionsPresenter.itemsForSection(section),
hasChanges: Boolean = false,
saveAction: AsyncAction<Unit> = AsyncAction.Uninitialized,
@ -52,8 +52,8 @@ internal fun aChangeRoomPermissionsState(
eventSink = eventSink,
)
private fun previewPermissions(): RoomPowerLevels {
return RoomPowerLevels(
private fun previewPermissions(): RoomPowerLevelsValues {
return RoomPowerLevelsValues(
// MembershipModeration section
invite = RoomMember.Role.ADMIN.powerLevel,
kick = RoomMember.Role.MODERATOR.powerLevel,

View file

@ -36,7 +36,7 @@ import io.element.android.libraries.designsystem.theme.components.Text
import io.element.android.libraries.designsystem.theme.components.TextButton
import io.element.android.libraries.designsystem.theme.components.TopAppBar
import io.element.android.libraries.matrix.api.room.RoomMember
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.ui.strings.CommonStrings
@OptIn(ExperimentalMaterial3Api::class)
@ -133,7 +133,7 @@ fun ChangeRoomPermissionsView(
private fun SelectRoleItem(
permissionsItem: RoomPermissionType,
role: RoomMember.Role,
currentPermissions: RoomPowerLevels?,
currentPermissions: RoomPowerLevelsValues?,
onClick: (RoomPermissionType, RoomMember.Role) -> Unit
) {
val title = when (role) {
@ -153,7 +153,7 @@ private fun SelectRoleItem(
)
}
private fun RoomPowerLevels.isSelected(item: RoomPermissionType, role: RoomMember.Role): Boolean {
private fun RoomPowerLevelsValues.isSelected(item: RoomPermissionType, role: RoomMember.Role): Boolean {
return when (item) {
RoomPermissionType.BAN -> RoomMember.Role.forPowerLevel(ban) == role
RoomPermissionType.INVITE -> RoomMember.Role.forPowerLevel(invite) == role

View file

@ -16,7 +16,6 @@ import io.element.android.libraries.architecture.AsyncAction
import io.element.android.libraries.core.coroutine.CoroutineDispatchers
import io.element.android.libraries.matrix.api.room.RoomMember
import io.element.android.libraries.matrix.test.room.FakeJoinedRoom
import io.element.android.libraries.matrix.test.room.defaultRoomPowerLevels
import io.element.android.services.analytics.test.FakeAnalyticsService
import io.element.android.tests.testutils.testCoroutineDispatchers
import kotlinx.coroutines.ExperimentalCoroutinesApi
@ -121,7 +120,7 @@ class RolesAndPermissionPresenterTest {
val presenter = createRolesAndPermissionsPresenter(
analyticsService = analyticsService,
room = FakeJoinedRoom(
resetPowerLevelsResult = { Result.success(defaultRoomPowerLevels()) }
resetPowerLevelsResult = { Result.success(Unit) }
)
)
moleculeFlow(RecompositionMode.Immediate) {

View file

@ -18,7 +18,7 @@ import io.element.android.libraries.architecture.AsyncAction
import io.element.android.libraries.matrix.api.room.RoomMember.Role.ADMIN
import io.element.android.libraries.matrix.api.room.RoomMember.Role.MODERATOR
import io.element.android.libraries.matrix.api.room.RoomMember.Role.USER
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.test.room.FakeBaseRoom
import io.element.android.libraries.matrix.test.room.FakeJoinedRoom
import io.element.android.libraries.matrix.test.room.defaultRoomPowerLevels
@ -133,7 +133,7 @@ class ChangeBaseRoomPermissionsPresenterTest {
(items.last() as? Event.Item<ChangeRoomPermissionsState>)?.value?.run {
assertThat(currentPermissions).isEqualTo(
RoomPowerLevels(
RoomPowerLevelsValues(
invite = MODERATOR.powerLevel,
kick = MODERATOR.powerLevel,
ban = MODERATOR.powerLevel,
@ -296,18 +296,7 @@ class ChangeBaseRoomPermissionsPresenterTest {
analyticsService = analyticsService,
)
private fun defaultPermissions() = defaultRoomPowerLevels().run {
RoomPowerLevels(
invite = invite,
kick = kick,
ban = ban,
redactEvents = redactEvents,
sendEvents = sendEvents,
roomName = roomName,
roomAvatar = roomAvatar,
roomTopic = roomTopic,
)
}
private fun defaultPermissions() = defaultRoomPowerLevels()
private suspend fun TurbineTestContext<ChangeRoomPermissionsState>.awaitUpdatedItem(): ChangeRoomPermissionsState {
skipItems(1)