feat(security&privacy) : start writing tests

This commit is contained in:
ganfra 2025-01-27 16:36:53 +01:00
parent c07a7d926c
commit fdc4f1b0fe
8 changed files with 441 additions and 5 deletions

View file

@ -69,7 +69,7 @@ class SecurityAndPrivacyPresenter @AssistedInject constructor(
isEncrypted = room.isEncrypted,
isVisibleInRoomDirectory = savedIsVisibleInRoomDirectory.value,
historyVisibility = roomInfo?.historyVisibility.map(),
addressName = roomInfo?.firstDisplayableAlias(homeserverName)?.value
address = roomInfo?.firstDisplayableAlias(homeserverName)?.value
)
}
}
@ -91,7 +91,7 @@ class SecurityAndPrivacyPresenter @AssistedInject constructor(
isEncrypted = editedIsEncrypted,
isVisibleInRoomDirectory = editedVisibleInRoomDirectory,
historyVisibility = editedHistoryVisibility,
addressName = savedSettings.addressName,
address = savedSettings.address,
)
var showEncryptionConfirmation by remember(savedSettings.isEncrypted) { mutableStateOf(false) }

View file

@ -23,6 +23,8 @@ data class SecurityAndPrivacyState(
val eventSink: (SecurityAndPrivacyEvents) -> Unit
) {
val canBeSaved = savedSettings != editedSettings
val availableHistoryVisibilities = buildSet {
@ -38,13 +40,16 @@ data class SecurityAndPrivacyState(
val showRoomVisibilitySections = permissions.canChangeRoomVisibility && editedSettings.roomAccess != SecurityAndPrivacyRoomAccess.InviteOnly
val showHistoryVisibilitySection = permissions.canChangeHistoryVisibility
val showEncryptionSection = permissions.canChangeEncryption
override fun toString(): String {
return "SecurityAndPrivacyState(savedSettings=$savedSettings, editedSettings=$editedSettings, homeserverName='$homeserverName', showEncryptionConfirmation=$showEncryptionConfirmation, saveAction=$saveAction, canBeSaved=$canBeSaved)"
}
}
data class SecurityAndPrivacySettings(
val roomAccess: SecurityAndPrivacyRoomAccess,
val isEncrypted: Boolean,
val historyVisibility: SecurityAndPrivacyHistoryVisibility,
val addressName: String?,
val address: String?,
val isVisibleInRoomDirectory: AsyncData<Boolean>
)

View file

@ -57,7 +57,7 @@ fun aSecurityAndPrivacySettings(
) = SecurityAndPrivacySettings(
roomAccess = roomAccess,
isEncrypted = isEncrypted,
addressName = formattedAddress,
address = formattedAddress,
historyVisibility = historyVisibility,
isVisibleInRoomDirectory = isVisibleInRoomDirectory
)

View file

@ -87,7 +87,7 @@ fun SecurityAndPrivacyView(
if (state.showRoomVisibilitySections) {
RoomVisibilitySection(state.homeserverName)
RoomAddressSection(
roomAddress = state.editedSettings.addressName,
roomAddress = state.editedSettings.address,
homeserverName = state.homeserverName,
onRoomAddressClick = { state.eventSink(SecurityAndPrivacyEvents.EditRoomAddress) },
isVisibleInRoomDirectory = state.editedSettings.isVisibleInRoomDirectory,