misc: extract toSelectRoomInfo method

This commit is contained in:
ganfra
2024-10-09 11:13:27 +02:00
parent 2ae13534a3
commit 65fe6ae0f3
3 changed files with 12 additions and 19 deletions

View File

@@ -14,6 +14,7 @@ import io.element.android.libraries.matrix.api.roomlist.RoomListFilter
import io.element.android.libraries.matrix.api.roomlist.RoomListService
import io.element.android.libraries.matrix.api.roomlist.loadAllIncrementally
import io.element.android.libraries.matrix.ui.model.SelectRoomInfo
import io.element.android.libraries.matrix.ui.model.toSelectRoomInfo
import kotlinx.collections.immutable.PersistentList
import kotlinx.collections.immutable.toPersistentList
import kotlinx.coroutines.coroutineScope
@@ -43,15 +44,7 @@ class RoomSelectSearchDataSource @Inject constructor(
roomSummaries
.filter { it.info.currentUserMembership == CurrentUserMembership.JOINED }
.distinctBy { it.roomId } // This should be removed once we're sure no duplicate Rooms can be received
.map { roomSummary ->
SelectRoomInfo(
roomId = roomSummary.roomId,
name = roomSummary.info.name,
avatarUrl = roomSummary.info.avatarUrl,
heroes = roomSummary.info.heroes,
canonicalAlias = roomSummary.info.canonicalAlias,
)
}
.map { roomSummary -> roomSummary.toSelectRoomInfo() }
.toPersistentList()
}
.flowOn(coroutineDispatchers.computation)

View File

@@ -14,10 +14,9 @@ import com.google.common.truth.Truth.assertThat
import io.element.android.libraries.designsystem.theme.components.SearchBarResultState
import io.element.android.libraries.matrix.api.roomlist.RoomListFilter
import io.element.android.libraries.matrix.api.roomlist.RoomListService
import io.element.android.libraries.matrix.api.roomlist.RoomSummary
import io.element.android.libraries.matrix.test.room.aRoomSummary
import io.element.android.libraries.matrix.test.roomlist.FakeRoomListService
import io.element.android.libraries.matrix.ui.components.aSelectRoomInfo
import io.element.android.libraries.matrix.ui.model.toSelectRoomInfo
import io.element.android.libraries.roomselect.api.RoomSelectMode
import io.element.android.tests.testutils.WarmUpRule
import io.element.android.tests.testutils.testCoroutineDispatchers
@@ -123,12 +122,4 @@ class RoomSelectPresenterTest {
coroutineDispatchers = testCoroutineDispatchers(),
),
)
private fun RoomSummary.toSelectRoomInfo() = aSelectRoomInfo(
roomId = roomId,
name = info.name,
avatarUrl = info.avatarUrl,
heroes = info.heroes,
canonicalAlias = info.canonicalAlias,
)
}