mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-04 01:19:33 +00:00
Make LeaveSpaceState stable
This commit is contained in:
committed by
Benoit Marty
parent
aef81027da
commit
5a48a43655
+10
-4
@@ -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.AsyncAction
|
||||||
import io.element.android.libraries.architecture.AsyncData
|
import io.element.android.libraries.architecture.AsyncData
|
||||||
import kotlinx.collections.immutable.ImmutableList
|
import kotlinx.collections.immutable.ImmutableList
|
||||||
|
import kotlinx.collections.immutable.toImmutableList
|
||||||
|
|
||||||
data class LeaveSpaceState(
|
data class LeaveSpaceState(
|
||||||
val spaceName: String?,
|
val spaceName: String?,
|
||||||
@@ -18,10 +19,15 @@ data class LeaveSpaceState(
|
|||||||
val leaveSpaceAction: AsyncAction<Unit>,
|
val leaveSpaceAction: AsyncAction<Unit>,
|
||||||
val eventSink: (LeaveSpaceEvents) -> Unit,
|
val eventSink: (LeaveSpaceEvents) -> Unit,
|
||||||
) {
|
) {
|
||||||
private val rooms = selectableSpaceRooms.dataOrNull().orEmpty()
|
private val rooms = selectableSpaceRooms.dataOrNull().orEmpty().toImmutableList()
|
||||||
private val partition = rooms.partition { it.isLastAdmin }
|
private val lastAdminRooms: ImmutableList<SelectableSpaceRoom>
|
||||||
private val lastAdminRooms = partition.first
|
private val selectableRooms: ImmutableList<SelectableSpaceRoom>
|
||||||
private val selectableRooms = partition.second
|
|
||||||
|
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.
|
* True if we should show the quick action to select/deselect all rooms.
|
||||||
|
|||||||
Reference in New Issue
Block a user