mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-02 21:32:34 +00:00
Add room list filter combining based on space selection
This commit is contained in:
+6
@@ -8,6 +8,8 @@
|
||||
|
||||
package io.element.android.libraries.matrix.api.roomlist
|
||||
|
||||
import io.element.android.libraries.matrix.api.core.RoomId
|
||||
|
||||
sealed interface RoomListFilter {
|
||||
companion object {
|
||||
/**
|
||||
@@ -41,6 +43,10 @@ sealed interface RoomListFilter {
|
||||
val filters: List<RoomListFilter>
|
||||
) : RoomListFilter
|
||||
|
||||
data class Identifiers(
|
||||
val values : List<RoomId>,
|
||||
): RoomListFilter
|
||||
|
||||
/**
|
||||
* A filter that matches rooms that are unread.
|
||||
*/
|
||||
|
||||
+2
@@ -14,6 +14,7 @@ import org.matrix.rustcomponents.sdk.RoomListEntriesDynamicFilterKind.Any
|
||||
import org.matrix.rustcomponents.sdk.RoomListEntriesDynamicFilterKind.Category
|
||||
import org.matrix.rustcomponents.sdk.RoomListEntriesDynamicFilterKind.DeduplicateVersions
|
||||
import org.matrix.rustcomponents.sdk.RoomListEntriesDynamicFilterKind.Favourite
|
||||
import org.matrix.rustcomponents.sdk.RoomListEntriesDynamicFilterKind.Identifiers
|
||||
import org.matrix.rustcomponents.sdk.RoomListEntriesDynamicFilterKind.Invite
|
||||
import org.matrix.rustcomponents.sdk.RoomListEntriesDynamicFilterKind.NonLeft
|
||||
import org.matrix.rustcomponents.sdk.RoomListEntriesDynamicFilterKind.NonSpace
|
||||
@@ -60,6 +61,7 @@ internal object RoomListFilterMapper {
|
||||
return when (filter) {
|
||||
is RoomListFilter.All -> All(filters = filter.filters.map { mapFilter(it) })
|
||||
is RoomListFilter.Any -> Any(filters = filter.filters.map { mapFilter(it) })
|
||||
is RoomListFilter.Identifiers -> Identifiers(identifiers = filter.values.map { it.value })
|
||||
RoomListFilter.None -> None
|
||||
RoomListFilter.Category.Group -> Category(RoomListFilterCategory.GROUP)
|
||||
RoomListFilter.Category.People -> Category(RoomListFilterCategory.PEOPLE)
|
||||
|
||||
Reference in New Issue
Block a user