change(security and privacy) : makes sure room visibility sections is shown when needed

This commit is contained in:
ganfra
2025-11-19 15:32:51 +01:00
parent 176c18d55d
commit 433f9e2886

View File

@@ -38,7 +38,10 @@ data class SecurityAndPrivacyState(
}.toImmutableSet()
val showRoomAccessSection = permissions.canChangeRoomAccess
val showRoomVisibilitySections = permissions.canChangeRoomVisibility && editedSettings.roomAccess != SecurityAndPrivacyRoomAccess.InviteOnly
val showRoomVisibilitySections = permissions.canChangeRoomVisibility &&
editedSettings.roomAccess.canConfigureRoomVisibility()
val showHistoryVisibilitySection = permissions.canChangeHistoryVisibility && !isSpace
val showEncryptionSection = permissions.canChangeEncryption && !isSpace
}
@@ -72,7 +75,14 @@ enum class SecurityAndPrivacyRoomAccess {
InviteOnly,
AskToJoin,
Anyone,
SpaceMember
SpaceMember;
fun canConfigureRoomVisibility(): Boolean {
return when (this) {
InviteOnly, SpaceMember -> false
AskToJoin, Anyone -> true
}
}
}
sealed class SecurityAndPrivacyFailures : Exception() {