change(permissions) : allow to change ShareLiveLocation permission

This commit is contained in:
ganfra
2026-05-26 23:17:32 +02:00
parent 09e14e037a
commit f37222e2d8
5 changed files with 8 additions and 0 deletions
@@ -47,6 +47,7 @@ class ChangeRoomPermissionsPresenter(
RoomPermissionsSection.MessagesAndContent -> persistentListOf(
RoomPermissionType.SEND_EVENTS,
RoomPermissionType.REDACT_EVENTS,
RoomPermissionType.SHARE_LIVE_LOCATION,
)
RoomPermissionsSection.ManageMembers -> persistentListOf(
RoomPermissionType.INVITE,
@@ -114,6 +115,7 @@ class ChangeRoomPermissionsPresenter(
RoomPermissionType.ROOM_AVATAR -> currentPermissions?.copy(roomAvatar = powerLevel)
RoomPermissionType.ROOM_TOPIC -> currentPermissions?.copy(roomTopic = powerLevel)
RoomPermissionType.SPACE_MANAGE_ROOMS -> currentPermissions?.copy(spaceChild = powerLevel)
RoomPermissionType.SHARE_LIVE_LOCATION -> currentPermissions?.copy(beaconInfo = powerLevel, beacon = powerLevel)
}
}
is ChangeRoomPermissionsEvent.Save -> coroutineScope.save()
@@ -65,6 +65,7 @@ data class ChangeRoomPermissionsState(
RoomPermissionType.ROOM_AVATAR -> currentPermissions.roomAvatar
RoomPermissionType.ROOM_TOPIC -> currentPermissions.roomTopic
RoomPermissionType.SPACE_MANAGE_ROOMS -> currentPermissions.spaceChild
RoomPermissionType.SHARE_LIVE_LOCATION -> maxOf(currentPermissions.beacon, currentPermissions.beaconInfo)
}
}
}
@@ -104,4 +105,5 @@ enum class RoomPermissionType {
ROOM_AVATAR,
ROOM_TOPIC,
SPACE_MANAGE_ROOMS,
SHARE_LIVE_LOCATION,
}
@@ -127,6 +127,7 @@ private fun titleForType(type: RoomPermissionType): String = when (type) {
RoomPermissionType.ROOM_AVATAR -> stringResource(R.string.screen_room_change_permissions_room_avatar)
RoomPermissionType.ROOM_TOPIC -> stringResource(R.string.screen_room_change_permissions_room_topic)
RoomPermissionType.SPACE_MANAGE_ROOMS -> stringResource(R.string.screen_room_change_permissions_manage_space_rooms)
RoomPermissionType.SHARE_LIVE_LOCATION -> stringResource(R.string.screen_room_change_permissions_live_location)
}
@PreviewsDayNight
@@ -66,6 +66,7 @@ class ChangeRoomPermissionsPresenterTest {
assertThat(itemsBySection[RoomPermissionsSection.MessagesAndContent]).containsExactly(
RoomPermissionType.SEND_EVENTS,
RoomPermissionType.REDACT_EVENTS,
RoomPermissionType.SHARE_LIVE_LOCATION,
)
assertThat(itemsBySection[RoomPermissionsSection.ManageMembers]).containsExactly(
RoomPermissionType.INVITE,
@@ -421,6 +421,8 @@ class JoinedRustRoom(
roomAvatar = roomPowerLevelsValues.roomAvatar,
roomTopic = roomPowerLevelsValues.roomTopic,
spaceChild = roomPowerLevelsValues.spaceChild,
beacon = roomPowerLevelsValues.beacon,
beaconInfo = roomPowerLevelsValues.beaconInfo,
)
innerRoom.applyPowerLevelChanges(changes)
}