Code cleanup, remove dead code and fix compilation issue

This commit is contained in:
Benoit Marty 2025-09-10 14:08:10 +02:00
parent df93fa82db
commit d7c6cbc78c
17 changed files with 13 additions and 33 deletions

View file

@ -8,7 +8,6 @@
package io.element.android.features.home.impl.spaces package io.element.android.features.home.impl.spaces
import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.core.RoomId
import io.element.android.libraries.matrix.api.core.SpaceId
import io.element.android.libraries.matrix.api.spaces.SpaceRoom import io.element.android.libraries.matrix.api.spaces.SpaceRoom
import kotlinx.collections.immutable.ImmutableSet import kotlinx.collections.immutable.ImmutableSet

View file

@ -63,7 +63,7 @@ fun HomeSpacesView(
onSpaceClick(spaceRoom.roomId) onSpaceClick(spaceRoom.roomId)
}, },
onLongClick = { onLongClick = {
// TODO
} }
) )
} }

View file

@ -8,10 +8,7 @@
package io.element.android.features.invite.api package io.element.android.features.invite.api
import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.core.RoomId
import io.element.android.libraries.matrix.api.core.SpaceId
import io.element.android.libraries.matrix.api.core.toSpaceId
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map
interface SeenInvitesStore { interface SeenInvitesStore {
/** /**

View file

@ -1,5 +1,5 @@
/* /*
* Copyright 2023, 2024 New Vector Ltd. * Copyright 2025 New Vector Ltd.
* *
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
* Please see LICENSE files in the repository root for full details. * Please see LICENSE files in the repository root for full details.

View file

@ -1,5 +1,5 @@
/* /*
* Copyright 2023, 2024 New Vector Ltd. * Copyright 2025 New Vector Ltd.
* *
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
* Please see LICENSE files in the repository root for full details. * Please see LICENSE files in the repository root for full details.

View file

@ -1,8 +1,7 @@
import extension.ComponentMergingStrategy import extension.setupDependencyInjection
import extension.setupAnvil
/* /*
* Copyright 2022-2024 New Vector Ltd. * Copyright 2025 New Vector Ltd.
* *
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
* Please see LICENSE files in the repository root for full details. * Please see LICENSE files in the repository root for full details.
@ -23,7 +22,7 @@ android {
} }
} }
setupAnvil(componentMergingStrategy = ComponentMergingStrategy.KSP) setupDependencyInjection()
dependencies { dependencies {
implementation(projects.libraries.core) implementation(projects.libraries.core)

View file

@ -10,7 +10,7 @@ package io.element.android.features.space.impl
import com.bumble.appyx.core.modality.BuildContext import com.bumble.appyx.core.modality.BuildContext
import com.bumble.appyx.core.node.Node import com.bumble.appyx.core.node.Node
import com.bumble.appyx.core.plugin.Plugin import com.bumble.appyx.core.plugin.Plugin
import com.squareup.anvil.annotations.ContributesBinding import dev.zacsweers.metro.ContributesBinding
import io.element.android.features.space.api.SpaceEntryPoint import io.element.android.features.space.api.SpaceEntryPoint
import io.element.android.libraries.architecture.createNode import io.element.android.libraries.architecture.createNode
import io.element.android.libraries.di.SessionScope import io.element.android.libraries.di.SessionScope

View file

@ -24,9 +24,8 @@ class SpaceNode @AssistedInject constructor(
@Assisted plugins: List<Plugin>, @Assisted plugins: List<Plugin>,
presenterFactory: SpacePresenter.Factory, presenterFactory: SpacePresenter.Factory,
) : Node(buildContext, plugins = plugins) { ) : Node(buildContext, plugins = plugins) {
private val inputs = plugins.filterIsInstance<SpaceEntryPoint.Inputs>().single()
val inputs = plugins.filterIsInstance<SpaceEntryPoint.Inputs>().single() private val callback = plugins.filterIsInstance<SpaceEntryPoint.Callback>().single()
val callback = plugins.filterIsInstance<SpaceEntryPoint.Callback>().single()
private val presenter = presenterFactory.create(inputs) private val presenter = presenterFactory.create(inputs)
@Composable @Composable

View file

@ -35,7 +35,6 @@ class SpacePresenter(
private val client: MatrixClient, private val client: MatrixClient,
private val seenInvitesStore: SeenInvitesStore, private val seenInvitesStore: SeenInvitesStore,
) : Presenter<SpaceState> { ) : Presenter<SpaceState> {
@AssistedFactory @AssistedFactory
interface Factory { interface Factory {
fun create(inputs: SpaceEntryPoint.Inputs): SpacePresenter fun create(inputs: SpaceEntryPoint.Inputs): SpacePresenter
@ -45,11 +44,9 @@ class SpacePresenter(
@Composable @Composable
override fun present(): SpaceState { override fun present(): SpaceState {
LaunchedEffect(Unit) { LaunchedEffect(Unit) {
paginate() paginate()
} }
val hideInvitesAvatar by remember { val hideInvitesAvatar by remember {
client client
.mediaPreviewService() .mediaPreviewService()

View file

@ -105,7 +105,7 @@ private fun SpaceViewContent(
onRoomClick(spaceRoom.roomId) onRoomClick(spaceRoom.roomId)
}, },
onLongClick = { onLongClick = {
// TODO
} }
) )
} }

View file

@ -20,5 +20,3 @@ value class RoomId(val value: String) : Serializable {
override fun toString(): String = value override fun toString(): String = value
} }
fun RoomId.toSpaceId(): SpaceId = SpaceId(this.value)

View file

@ -1,5 +1,5 @@
/* /*
* Copyright 2023, 2024 New Vector Ltd. * Copyright 2025 New Vector Ltd.
* *
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
* Please see LICENSE files in the repository root for full details. * Please see LICENSE files in the repository root for full details.
@ -22,4 +22,3 @@ interface SpaceRoomList {
val paginationStatusFlow: StateFlow<PaginationStatus> val paginationStatusFlow: StateFlow<PaginationStatus>
suspend fun paginate(): Result<Unit> suspend fun paginate(): Result<Unit>
} }

View file

@ -29,7 +29,6 @@ class RustSpaceRoomList(
spaceRoomMapper: SpaceRoomMapper, spaceRoomMapper: SpaceRoomMapper,
private val spaceRoomCache: SpaceRoomCache, private val spaceRoomCache: SpaceRoomCache,
) : SpaceRoomList { ) : SpaceRoomList {
private val inner = CompletableDeferred<InnerSpaceRoomList>() private val inner = CompletableDeferred<InnerSpaceRoomList>()
override fun currentSpaceFlow(): Flow<SpaceRoom?> { override fun currentSpaceFlow(): Flow<SpaceRoom?> {

View file

@ -9,7 +9,6 @@ package io.element.android.libraries.matrix.impl.spaces
import io.element.android.libraries.core.extensions.runCatchingExceptions import io.element.android.libraries.core.extensions.runCatchingExceptions
import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.core.RoomId
import io.element.android.libraries.matrix.api.core.SpaceId
import io.element.android.libraries.matrix.api.spaces.SpaceRoom import io.element.android.libraries.matrix.api.spaces.SpaceRoom
import io.element.android.libraries.matrix.api.spaces.SpaceRoomList import io.element.android.libraries.matrix.api.spaces.SpaceRoomList
import io.element.android.libraries.matrix.api.spaces.SpaceService import io.element.android.libraries.matrix.api.spaces.SpaceService

View file

@ -44,9 +44,7 @@ internal class SpaceListUpdateProcessor(
private fun MutableList<SpaceRoom>.applyUpdate(update: SpaceListUpdate) { private fun MutableList<SpaceRoom>.applyUpdate(update: SpaceListUpdate) {
when (update) { when (update) {
is SpaceListUpdate.Append -> { is SpaceListUpdate.Append -> {
val newSpaces = update.values.map { it -> val newSpaces = update.values.map(mapper::map)
it.let(mapper::map)
}
addAll(newSpaces) addAll(newSpaces)
} }
SpaceListUpdate.Clear -> clear() SpaceListUpdate.Clear -> clear()

View file

@ -7,9 +7,6 @@
package io.element.android.libraries.matrix.impl.spaces package io.element.android.libraries.matrix.impl.spaces
import dev.zacsweers.metro.Inject
import dev.zacsweers.metro.SingleIn
import io.element.android.libraries.di.SessionScope
import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.core.RoomId
import io.element.android.libraries.matrix.api.spaces.SpaceRoom import io.element.android.libraries.matrix.api.spaces.SpaceRoom
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
@ -23,7 +20,7 @@ import kotlinx.coroutines.sync.withLock
* An in memory cache of space rooms. * An in memory cache of space rooms.
* Only caches Rooms with roomType [io.element.android.libraries.matrix.api.room.RoomType.Space]. * Only caches Rooms with roomType [io.element.android.libraries.matrix.api.room.RoomType.Space].
*/ */
class SpaceRoomCache() { class SpaceRoomCache {
private val inMemoryCache = MutableStateFlow<MutableMap<RoomId, SpaceRoom>>(LinkedHashMap()) private val inMemoryCache = MutableStateFlow<MutableMap<RoomId, SpaceRoom>>(LinkedHashMap())
private val mutex = Mutex() private val mutex = Mutex()

View file

@ -10,7 +10,6 @@ package io.element.android.libraries.matrix.impl.spaces
import io.element.android.libraries.core.bool.orFalse import io.element.android.libraries.core.bool.orFalse
import io.element.android.libraries.matrix.api.core.RoomAlias import io.element.android.libraries.matrix.api.core.RoomAlias
import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.core.RoomId
import io.element.android.libraries.matrix.api.core.SpaceId
import io.element.android.libraries.matrix.api.spaces.SpaceRoom import io.element.android.libraries.matrix.api.spaces.SpaceRoom
import io.element.android.libraries.matrix.impl.room.join.map import io.element.android.libraries.matrix.impl.room.join.map
import io.element.android.libraries.matrix.impl.room.map import io.element.android.libraries.matrix.impl.room.map