From ac19d041227d232f0ff97f4c7734cd00dd7311ce Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 11 Sep 2024 10:03:22 +0200 Subject: [PATCH] RustMatrixRoom do not need the SessionData anymore. --- .../android/libraries/matrix/impl/RustMatrixClient.kt | 2 +- .../android/libraries/matrix/impl/room/RustMatrixRoom.kt | 8 ++++---- .../android/libraries/matrix/impl/room/RustRoomFactory.kt | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt index 832c7a6bd1..892963f9e9 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt @@ -173,13 +173,13 @@ class RustMatrixClient( roomListService = roomListService, innerRoomListService = innerRoomListService, sessionId = sessionId, + deviceId = deviceId, notificationSettingsService = notificationSettingsService, sessionCoroutineScope = sessionCoroutineScope, dispatchers = dispatchers, systemClock = clock, roomContentForwarder = RoomContentForwarder(innerRoomListService), roomSyncSubscriber = roomSyncSubscriber, - getSessionData = { sessionStore.getSession(sessionId.value)!! }, ) override val mediaLoader: MatrixMediaLoader = RustMediaLoader( diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt index 1f5ffe7eef..14aeedfcec 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt @@ -10,6 +10,7 @@ package io.element.android.libraries.matrix.impl.room import io.element.android.libraries.core.coroutine.CoroutineDispatchers import io.element.android.libraries.core.coroutine.childScope import io.element.android.libraries.core.extensions.mapFailure +import io.element.android.libraries.matrix.api.core.DeviceId import io.element.android.libraries.matrix.api.core.EventId import io.element.android.libraries.matrix.api.core.ProgressCallback import io.element.android.libraries.matrix.api.core.RoomAlias @@ -52,7 +53,6 @@ import io.element.android.libraries.matrix.impl.util.MessageEventContent import io.element.android.libraries.matrix.impl.util.mxCallbackFlow import io.element.android.libraries.matrix.impl.widget.RustWidgetDriver import io.element.android.libraries.matrix.impl.widget.generateWidgetWebViewUrl -import io.element.android.libraries.sessionstorage.api.SessionData import io.element.android.services.toolbox.api.systemclock.SystemClock import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.ExperimentalCoroutinesApi @@ -89,6 +89,7 @@ import org.matrix.rustcomponents.sdk.Timeline as InnerTimeline @OptIn(ExperimentalCoroutinesApi::class) class RustMatrixRoom( override val sessionId: SessionId, + private val deviceId: DeviceId, private val roomListItem: RoomListItem, private val innerRoom: InnerRoom, innerTimeline: InnerTimeline, @@ -97,7 +98,6 @@ class RustMatrixRoom( private val coroutineDispatchers: CoroutineDispatchers, private val systemClock: SystemClock, private val roomContentForwarder: RoomContentForwarder, - private val sessionData: SessionData, private val roomSyncSubscriber: RoomSyncSubscriber, private val matrixRoomInfoMapper: MatrixRoomInfoMapper, ) : MatrixRoom { @@ -124,7 +124,7 @@ class RustMatrixRoom( override fun call(typingUserIds: List) { channel.trySend( typingUserIds - .filter { it != sessionData.userId } + .filter { it != sessionId.value } .map(::UserId) ) } @@ -606,7 +606,7 @@ class RustMatrixRoom( room = innerRoom, widgetCapabilitiesProvider = object : WidgetCapabilitiesProvider { override fun acquireCapabilities(capabilities: WidgetCapabilities): WidgetCapabilities { - return getElementCallRequiredPermissions(sessionId.value, sessionData.deviceId) + return getElementCallRequiredPermissions(sessionId.value, deviceId.value) } }, ) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomFactory.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomFactory.kt index 8db2c498ef..04210d6959 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomFactory.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomFactory.kt @@ -10,6 +10,7 @@ package io.element.android.libraries.matrix.impl.room import androidx.collection.lruCache import io.element.android.appconfig.TimelineConfig import io.element.android.libraries.core.coroutine.CoroutineDispatchers +import io.element.android.libraries.matrix.api.core.DeviceId import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.core.SessionId import io.element.android.libraries.matrix.api.notificationsettings.NotificationSettingsService @@ -18,7 +19,6 @@ import io.element.android.libraries.matrix.api.roomlist.RoomListService import io.element.android.libraries.matrix.api.roomlist.awaitLoaded import io.element.android.libraries.matrix.impl.roomlist.fullRoomWithTimeline import io.element.android.libraries.matrix.impl.roomlist.roomOrNull -import io.element.android.libraries.sessionstorage.api.SessionData import io.element.android.services.toolbox.api.systemclock.SystemClock import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.ExperimentalCoroutinesApi @@ -38,6 +38,7 @@ private const val CACHE_SIZE = 16 class RustRoomFactory( private val sessionId: SessionId, + private val deviceId: DeviceId, private val notificationSettingsService: NotificationSettingsService, private val sessionCoroutineScope: CoroutineScope, private val dispatchers: CoroutineDispatchers, @@ -46,7 +47,6 @@ class RustRoomFactory( private val roomListService: RoomListService, private val innerRoomListService: InnerRoomListService, private val roomSyncSubscriber: RoomSyncSubscriber, - private val getSessionData: suspend () -> SessionData, ) { @OptIn(ExperimentalCoroutinesApi::class) private val dispatcher = dispatchers.io.limitedParallelism(1) @@ -108,6 +108,7 @@ class RustRoomFactory( val liveTimeline = roomReferences.fullRoom.timeline() RustMatrixRoom( sessionId = sessionId, + deviceId = deviceId, roomListItem = roomReferences.roomListItem, innerRoom = roomReferences.fullRoom, innerTimeline = liveTimeline, @@ -116,7 +117,6 @@ class RustRoomFactory( coroutineDispatchers = dispatchers, systemClock = systemClock, roomContentForwarder = roomContentForwarder, - sessionData = getSessionData(), roomSyncSubscriber = roomSyncSubscriber, matrixRoomInfoMapper = matrixRoomInfoMapper, )