feat(security&privacy) : some more clean up

This commit is contained in:
ganfra 2025-01-28 20:09:58 +01:00
parent 627ce7de3f
commit 82bbf2c83f
2 changed files with 13 additions and 16 deletions

View file

@ -9,7 +9,6 @@ package io.element.android.features.roomdetails.impl
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.State
import androidx.compose.runtime.collectAsState import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.derivedStateOf
import androidx.compose.runtime.getValue import androidx.compose.runtime.getValue
@ -105,7 +104,7 @@ class RoomDetailsPresenter @Inject constructor(
val dmMember by room.getDirectRoomMember(membersState) val dmMember by room.getDirectRoomMember(membersState)
val currentMember by room.getCurrentRoomMember(membersState) val currentMember by room.getCurrentRoomMember(membersState)
val roomMemberDetailsPresenter = roomMemberDetailsPresenter(dmMember) val roomMemberDetailsPresenter = roomMemberDetailsPresenter(dmMember)
val roomType by getRoomType(dmMember, currentMember) val roomType = getRoomType(dmMember, currentMember)
val roomCallState = roomCallStatePresenter.present() val roomCallState = roomCallStatePresenter.present()
val topicState = remember(canEditTopic, roomTopic, roomType) { val topicState = remember(canEditTopic, roomTopic, roomType) {
@ -196,16 +195,14 @@ class RoomDetailsPresenter @Inject constructor(
private fun getRoomType( private fun getRoomType(
dmMember: RoomMember?, dmMember: RoomMember?,
currentMember: RoomMember?, currentMember: RoomMember?,
): State<RoomDetailsType> = remember(dmMember, currentMember) { ): RoomDetailsType = remember(dmMember, currentMember) {
derivedStateOf { if (dmMember != null && currentMember != null) {
if (dmMember != null && currentMember != null) { RoomDetailsType.Dm(
RoomDetailsType.Dm( me = currentMember,
me = currentMember, otherMember = dmMember,
otherMember = dmMember, )
) } else {
} else { RoomDetailsType.Room
RoomDetailsType.Room
}
} }
} }

View file

@ -57,7 +57,7 @@ class SecurityAndPrivacyPresenter @AssistedInject constructor(
val saveAction = remember { mutableStateOf<AsyncAction<Unit>>(AsyncAction.Uninitialized) } val saveAction = remember { mutableStateOf<AsyncAction<Unit>>(AsyncAction.Uninitialized) }
val homeserverName = remember { matrixClient.userIdServerName() } val homeserverName = remember { matrixClient.userIdServerName() }
val syncUpdateFlow = room.syncUpdateFlow.collectAsState() val syncUpdateFlow = room.syncUpdateFlow.collectAsState()
val roomInfo by room.roomInfoFlow.collectAsState(null) val roomInfo = room.roomInfoFlow.collectAsState(null)
val savedIsVisibleInRoomDirectory = remember { mutableStateOf<AsyncData<Boolean>>(AsyncData.Uninitialized) } val savedIsVisibleInRoomDirectory = remember { mutableStateOf<AsyncData<Boolean>>(AsyncData.Uninitialized) }
LaunchedEffect(Unit) { LaunchedEffect(Unit) {
@ -67,11 +67,11 @@ class SecurityAndPrivacyPresenter @AssistedInject constructor(
val savedSettings by remember { val savedSettings by remember {
derivedStateOf { derivedStateOf {
SecurityAndPrivacySettings( SecurityAndPrivacySettings(
roomAccess = roomInfo?.joinRule.map(), roomAccess = roomInfo.value?.joinRule.map(),
isEncrypted = room.isEncrypted, isEncrypted = room.isEncrypted,
isVisibleInRoomDirectory = savedIsVisibleInRoomDirectory.value, isVisibleInRoomDirectory = savedIsVisibleInRoomDirectory.value,
historyVisibility = roomInfo?.historyVisibility.map(), historyVisibility = roomInfo.value?.historyVisibility.map(),
address = roomInfo?.firstDisplayableAlias(homeserverName)?.value address = roomInfo.value?.firstDisplayableAlias(homeserverName)?.value,
) )
} }
} }