change(security and privacy) : makes sure room visibility sections is shown when needed
This commit is contained in:
parent
176c18d55d
commit
433f9e2886
1 changed files with 12 additions and 2 deletions
|
|
@ -38,7 +38,10 @@ data class SecurityAndPrivacyState(
|
||||||
}.toImmutableSet()
|
}.toImmutableSet()
|
||||||
|
|
||||||
val showRoomAccessSection = permissions.canChangeRoomAccess
|
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 showHistoryVisibilitySection = permissions.canChangeHistoryVisibility && !isSpace
|
||||||
val showEncryptionSection = permissions.canChangeEncryption && !isSpace
|
val showEncryptionSection = permissions.canChangeEncryption && !isSpace
|
||||||
}
|
}
|
||||||
|
|
@ -72,7 +75,14 @@ enum class SecurityAndPrivacyRoomAccess {
|
||||||
InviteOnly,
|
InviteOnly,
|
||||||
AskToJoin,
|
AskToJoin,
|
||||||
Anyone,
|
Anyone,
|
||||||
SpaceMember
|
SpaceMember;
|
||||||
|
|
||||||
|
fun canConfigureRoomVisibility(): Boolean {
|
||||||
|
return when (this) {
|
||||||
|
InviteOnly, SpaceMember -> false
|
||||||
|
AskToJoin, Anyone -> true
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sealed class SecurityAndPrivacyFailures : Exception() {
|
sealed class SecurityAndPrivacyFailures : Exception() {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue