Do not create a new immutable list from a List every time we want to produce a new state
This commit is contained in:
parent
d1822fd33b
commit
ea2307a393
1 changed files with 6 additions and 2 deletions
|
|
@ -16,6 +16,7 @@ import io.element.android.features.invite.api.SeenInvitesStore
|
|||
import io.element.android.libraries.architecture.Presenter
|
||||
import io.element.android.libraries.matrix.api.MatrixClient
|
||||
import io.element.android.libraries.matrix.ui.safety.rememberHideInvitesAvatar
|
||||
import kotlinx.collections.immutable.persistentListOf
|
||||
import kotlinx.collections.immutable.persistentSetOf
|
||||
import kotlinx.collections.immutable.toImmutableList
|
||||
import kotlinx.collections.immutable.toImmutableSet
|
||||
|
|
@ -29,7 +30,10 @@ class HomeSpacesPresenter(
|
|||
@Composable
|
||||
override fun present(): HomeSpacesState {
|
||||
val hideInvitesAvatar by client.rememberHideInvitesAvatar()
|
||||
val spaceRooms by client.spaceService.spaceRoomsFlow.collectAsState(emptyList())
|
||||
val spaceRooms by remember {
|
||||
client.spaceService.spaceRoomsFlow.map { it.toImmutableList() }
|
||||
}.collectAsState(persistentListOf())
|
||||
|
||||
val seenSpaceInvites by remember {
|
||||
seenInvitesStore.seenRoomIds().map { it.toImmutableSet() }
|
||||
}.collectAsState(persistentSetOf())
|
||||
|
|
@ -40,7 +44,7 @@ class HomeSpacesPresenter(
|
|||
|
||||
return HomeSpacesState(
|
||||
space = CurrentSpace.Root,
|
||||
spaceRooms = spaceRooms.toImmutableList(),
|
||||
spaceRooms = spaceRooms,
|
||||
seenSpaceInvites = seenSpaceInvites,
|
||||
hideInvitesAvatar = hideInvitesAvatar,
|
||||
eventSink = ::handleEvents,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue