feat(security&privacy) : some more clean up
This commit is contained in:
parent
627ce7de3f
commit
82bbf2c83f
2 changed files with 13 additions and 16 deletions
|
|
@ -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
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue