Make LeaveSpaceState stable
This commit is contained in:
parent
aef81027da
commit
5a48a43655
1 changed files with 10 additions and 4 deletions
|
|
@ -10,6 +10,7 @@ package io.element.android.features.space.impl.leave
|
|||
import io.element.android.libraries.architecture.AsyncAction
|
||||
import io.element.android.libraries.architecture.AsyncData
|
||||
import kotlinx.collections.immutable.ImmutableList
|
||||
import kotlinx.collections.immutable.toImmutableList
|
||||
|
||||
data class LeaveSpaceState(
|
||||
val spaceName: String?,
|
||||
|
|
@ -18,10 +19,15 @@ data class LeaveSpaceState(
|
|||
val leaveSpaceAction: AsyncAction<Unit>,
|
||||
val eventSink: (LeaveSpaceEvents) -> Unit,
|
||||
) {
|
||||
private val rooms = selectableSpaceRooms.dataOrNull().orEmpty()
|
||||
private val partition = rooms.partition { it.isLastAdmin }
|
||||
private val lastAdminRooms = partition.first
|
||||
private val selectableRooms = partition.second
|
||||
private val rooms = selectableSpaceRooms.dataOrNull().orEmpty().toImmutableList()
|
||||
private val lastAdminRooms: ImmutableList<SelectableSpaceRoom>
|
||||
private val selectableRooms: ImmutableList<SelectableSpaceRoom>
|
||||
|
||||
init {
|
||||
val partition = rooms.partition { it.isLastAdmin }
|
||||
lastAdminRooms = partition.first.toImmutableList()
|
||||
selectableRooms = partition.second.toImmutableList()
|
||||
}
|
||||
|
||||
/**
|
||||
* True if we should show the quick action to select/deselect all rooms.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue