From a85c5663415b4601a264efb712b6abc74a0ad9d4 Mon Sep 17 00:00:00 2001 From: ganfra Date: Tue, 27 Jan 2026 18:43:21 +0100 Subject: [PATCH] Clean up unused imports and improve code documentation --- .../impl/addroom/AddRoomToSpacePresenter.kt | 1 - .../addroom/AddRoomToSpaceSearchDataSource.kt | 18 +++++++++--------- .../addroom/AddRoomToSpacePresenterTest.kt | 4 ++-- .../impl/addroom/AddRoomToSpaceViewTest.kt | 4 ++-- .../space/impl/root/SpacePresenterTest.kt | 4 +--- .../matrix/api/spaces/SpaceRoomList.kt | 3 --- .../matrix/impl/spaces/RustSpaceRoomList.kt | 1 - 7 files changed, 14 insertions(+), 21 deletions(-) diff --git a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpacePresenter.kt b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpacePresenter.kt index 89e78e86a1..9393018cdd 100644 --- a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpacePresenter.kt +++ b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpacePresenter.kt @@ -35,7 +35,6 @@ import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.async import kotlinx.coroutines.awaitAll import kotlinx.coroutines.launch -import kotlin.time.Duration.Companion.seconds @Inject class AddRoomToSpacePresenter( diff --git a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpaceSearchDataSource.kt b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpaceSearchDataSource.kt index b582e07fdf..24c2095ff9 100644 --- a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpaceSearchDataSource.kt +++ b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpaceSearchDataSource.kt @@ -16,14 +16,14 @@ import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.room.CurrentUserMembership import io.element.android.libraries.matrix.api.room.RoomInfo import io.element.android.libraries.matrix.api.room.isDm -import io.element.android.libraries.matrix.ui.model.SelectRoomInfo -import io.element.android.libraries.matrix.ui.model.toSelectRoomInfo import io.element.android.libraries.matrix.api.room.recent.getRecentlyVisitedRoomInfoFlow import io.element.android.libraries.matrix.api.roomlist.RoomList 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.api.spaces.SpaceRoomList +import io.element.android.libraries.matrix.ui.model.SelectRoomInfo +import io.element.android.libraries.matrix.ui.model.toSelectRoomInfo import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.toImmutableList import kotlinx.coroutines.CoroutineScope @@ -67,15 +67,15 @@ class AddRoomToSpaceSearchDataSource( rooms.map { it.roomId }.toSet() } - // Track locally added rooms for partial failure cases - private val addedRoomIds = MutableStateFlow>(emptySet()) + // Track locally added rooms for partial success handling. + // These rooms will be filtered out from search results and suggestions. + private val addedRoomIdsFlow = MutableStateFlow>(emptySet()) /** - * Marks rooms as added to the space (for partial failure handling). - * These rooms will be filtered out from search results and suggestions. + * Marks rooms as added to the space (for partial success handling). */ fun markAsAdded(roomIds: Set) { - addedRoomIds.value += roomIds + addedRoomIdsFlow.value += roomIds } private val filterRoomPredicate: (RoomInfo, Set, Set) -> Boolean = { info, childIds, addedIds -> @@ -89,7 +89,7 @@ class AddRoomToSpaceSearchDataSource( val roomInfoList: Flow> = combine( roomList.filteredSummaries, spaceChildrenFlow, - addedRoomIds, + addedRoomIdsFlow, ) { roomSummaries, childIds, addedIds -> roomSummaries .filter { filterRoomPredicate(it.info, childIds, addedIds) } @@ -99,7 +99,7 @@ class AddRoomToSpaceSearchDataSource( val suggestions: Flow> = combine( spaceChildrenFlow, - addedRoomIds, + addedRoomIdsFlow, ) { childIds, addedIds -> matrixClient .getRecentlyVisitedRoomInfoFlow { filterRoomPredicate(it, childIds, addedIds) } diff --git a/features/space/impl/src/test/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpacePresenterTest.kt b/features/space/impl/src/test/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpacePresenterTest.kt index 8d99e2c550..381206c3ec 100644 --- a/features/space/impl/src/test/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpacePresenterTest.kt +++ b/features/space/impl/src/test/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpacePresenterTest.kt @@ -25,12 +25,12 @@ import io.element.android.libraries.matrix.test.spaces.FakeSpaceRoomList import io.element.android.libraries.matrix.test.spaces.FakeSpaceService import io.element.android.libraries.matrix.ui.components.aSelectRoomInfo import io.element.android.libraries.matrix.ui.model.SelectRoomInfo -import kotlinx.collections.immutable.ImmutableList -import kotlinx.collections.immutable.toImmutableList import io.element.android.tests.testutils.lambda.assert import io.element.android.tests.testutils.lambda.lambdaRecorder import io.element.android.tests.testutils.test import io.element.android.tests.testutils.testCoroutineDispatchers +import kotlinx.collections.immutable.ImmutableList +import kotlinx.collections.immutable.toImmutableList import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.test.TestScope diff --git a/features/space/impl/src/test/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpaceViewTest.kt b/features/space/impl/src/test/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpaceViewTest.kt index 6e82a5f7d7..16710ae0e4 100644 --- a/features/space/impl/src/test/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpaceViewTest.kt +++ b/features/space/impl/src/test/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpaceViewTest.kt @@ -20,7 +20,7 @@ import io.element.android.tests.testutils.EventsRecorder import io.element.android.tests.testutils.clickOn import io.element.android.tests.testutils.ensureCalledOnce import io.element.android.tests.testutils.pressBack -import kotlinx.collections.immutable.toPersistentList +import kotlinx.collections.immutable.toImmutableList import org.junit.Rule import org.junit.Test import org.junit.rules.TestRule @@ -65,7 +65,7 @@ class AddRoomToSpaceViewTest { val eventsRecorder = EventsRecorder() rule.setAddRoomToSpaceView( anAddRoomToSpaceState( - selectedRooms = aSelectRoomInfoList().take(1).toPersistentList(), + selectedRooms = aSelectRoomInfoList().take(1).toImmutableList(), eventSink = eventsRecorder, ), ) diff --git a/features/space/impl/src/test/kotlin/io/element/android/features/space/impl/root/SpacePresenterTest.kt b/features/space/impl/src/test/kotlin/io/element/android/features/space/impl/root/SpacePresenterTest.kt index b655f2f022..1d38e2e0f7 100644 --- a/features/space/impl/src/test/kotlin/io/element/android/features/space/impl/root/SpacePresenterTest.kt +++ b/features/space/impl/src/test/kotlin/io/element/android/features/space/impl/root/SpacePresenterTest.kt @@ -30,7 +30,6 @@ import io.element.android.libraries.matrix.api.room.CurrentUserMembership import io.element.android.libraries.matrix.api.room.RoomType import io.element.android.libraries.matrix.api.room.join.JoinRoom import io.element.android.libraries.matrix.api.spaces.SpaceRoomList -import io.element.android.libraries.matrix.api.spaces.loadAllIncrementally import io.element.android.libraries.matrix.test.AN_EXCEPTION import io.element.android.libraries.matrix.test.A_ROOM_ID import io.element.android.libraries.matrix.test.A_ROOM_ID_2 @@ -50,7 +49,6 @@ import io.element.android.tests.testutils.test import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.test.TestScope import kotlinx.coroutines.test.advanceUntilIdle -import kotlinx.coroutines.test.runCurrent import kotlinx.coroutines.test.runTest import org.junit.Test import im.vector.app.features.analytics.plan.JoinedRoom as AnalyticsJoinedRoom @@ -393,7 +391,7 @@ class SpacePresenterTest { val removeChildFromSpaceResult = lambdaRecorder> { _, _ -> Result.success(Unit) } - val resetResult = lambdaRecorder> { Result.success(Unit) } + val resetResult = lambdaRecorder> { Result.success(Unit) } val aRoom = aSpaceRoom( roomId = A_ROOM_ID, roomType = RoomType.Room, diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/spaces/SpaceRoomList.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/spaces/SpaceRoomList.kt index 528a75f563..2ccee8d1ee 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/spaces/SpaceRoomList.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/spaces/SpaceRoomList.kt @@ -12,12 +12,9 @@ import io.element.android.libraries.matrix.api.core.RoomId import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.StateFlow -import kotlinx.coroutines.flow.first import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach -import kotlinx.coroutines.withTimeoutOrNull import java.util.Optional -import kotlin.time.Duration interface SpaceRoomList { sealed interface PaginationStatus { diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/spaces/RustSpaceRoomList.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/spaces/RustSpaceRoomList.kt index 549fde2d5d..867c14d18f 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/spaces/RustSpaceRoomList.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/spaces/RustSpaceRoomList.kt @@ -17,7 +17,6 @@ import kotlinx.coroutines.CompletableDeferred import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.cancel -import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.MutableSharedFlow import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.launchIn