Skip to content

Commit 69c8623

Browse files
authored
Merge pull request #5466 from element-hq/feature/bma/replaceFunByVal
Replace fun by val in MatrixClient
2 parents 3f54017 + d1cbf69 commit 69c8623

File tree

38 files changed

+170
-196
lines changed

38 files changed

+170
-196
lines changed

appnav/src/main/kotlin/io/element/android/appnav/LoggedInFlowNode.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,8 @@ class LoggedInFlowNode(
141141
}
142142

143143
private val loggedInFlowProcessor = LoggedInEventProcessor(
144-
snackbarDispatcher,
145-
matrixClient.roomMembershipObserver(),
144+
snackbarDispatcher = snackbarDispatcher,
145+
roomMembershipObserver = matrixClient.roomMembershipObserver,
146146
)
147147

148148
private val verificationListener = object : SessionVerificationServiceListener {
@@ -189,7 +189,7 @@ class LoggedInFlowNode(
189189
// TODO We do not support Space yet, so directly navigate to main space
190190
appNavigationStateService.onNavigateToSpace(id, MAIN_SPACE)
191191
loggedInFlowProcessor.observeEvents(sessionCoroutineScope)
192-
matrixClient.sessionVerificationService().setListener(verificationListener)
192+
matrixClient.sessionVerificationService.setListener(verificationListener)
193193
mediaPreviewConfigMigration()
194194

195195
sessionCoroutineScope.launch {
@@ -218,7 +218,7 @@ class LoggedInFlowNode(
218218
appNavigationStateService.onLeavingSpace(id)
219219
appNavigationStateService.onLeavingSession(id)
220220
loggedInFlowProcessor.stopObserving()
221-
matrixClient.sessionVerificationService().setListener(null)
221+
matrixClient.sessionVerificationService.setListener(null)
222222
}
223223
)
224224
setupSendingQueue()

appnav/src/main/kotlin/io/element/android/appnav/di/MatrixSessionCache.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,10 @@ class MatrixSessionCache(
109109
}
110110

111111
private fun onNewMatrixClient(matrixClient: MatrixClient) {
112-
val syncOrchestrator = syncOrchestratorFactory.create(matrixClient)
112+
val syncOrchestrator = syncOrchestratorFactory.create(
113+
syncService = matrixClient.syncService,
114+
sessionCoroutineScope = matrixClient.sessionCoroutineScope,
115+
)
113116
sessionIdsToMatrixSession[matrixClient.sessionId] = InMemoryMatrixSession(
114117
matrixClient = matrixClient,
115118
syncOrchestrator = syncOrchestrator,

appnav/src/main/kotlin/io/element/android/appnav/di/SyncOrchestrator.kt

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@ import io.element.android.features.networkmonitor.api.NetworkMonitor
1515
import io.element.android.features.networkmonitor.api.NetworkStatus
1616
import io.element.android.libraries.core.coroutine.CoroutineDispatchers
1717
import io.element.android.libraries.core.coroutine.childScope
18-
import io.element.android.libraries.matrix.api.MatrixClient
18+
import io.element.android.libraries.matrix.api.sync.SyncService
1919
import io.element.android.libraries.matrix.api.sync.SyncState
2020
import io.element.android.services.appnavstate.api.AppForegroundStateService
21+
import kotlinx.coroutines.CoroutineScope
2122
import kotlinx.coroutines.FlowPreview
2223
import kotlinx.coroutines.flow.combine
2324
import kotlinx.coroutines.flow.debounce
@@ -32,21 +33,23 @@ import kotlin.time.Duration.Companion.seconds
3233

3334
@AssistedInject
3435
class SyncOrchestrator(
35-
@Assisted matrixClient: MatrixClient,
36+
@Assisted private val syncService: SyncService,
37+
@Assisted sessionCoroutineScope: CoroutineScope,
3638
private val appForegroundStateService: AppForegroundStateService,
3739
private val networkMonitor: NetworkMonitor,
3840
dispatchers: CoroutineDispatchers,
3941
) {
4042
@AssistedFactory
4143
interface Factory {
42-
fun create(matrixClient: MatrixClient): SyncOrchestrator
44+
fun create(
45+
syncService: SyncService,
46+
sessionCoroutineScope: CoroutineScope,
47+
): SyncOrchestrator
4348
}
4449

45-
private val syncService = matrixClient.syncService()
46-
4750
private val tag = "SyncOrchestrator"
4851

49-
private val coroutineScope = matrixClient.sessionCoroutineScope.childScope(dispatchers.io, tag)
52+
private val coroutineScope = sessionCoroutineScope.childScope(dispatchers.io, tag)
5053

5154
private val started = AtomicBoolean(false)
5255

appnav/src/test/kotlin/io/element/android/appnav/SyncOrchestratorTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import io.element.android.appnav.di.SyncOrchestrator
1111
import io.element.android.features.networkmonitor.api.NetworkStatus
1212
import io.element.android.features.networkmonitor.test.FakeNetworkMonitor
1313
import io.element.android.libraries.matrix.api.sync.SyncState
14-
import io.element.android.libraries.matrix.test.FakeMatrixClient
1514
import io.element.android.libraries.matrix.test.sync.FakeSyncService
1615
import io.element.android.services.appnavstate.test.FakeAppForegroundStateService
1716
import io.element.android.tests.testutils.WarmUpRule
@@ -385,7 +384,8 @@ class SyncOrchestratorTest {
385384
networkMonitor: FakeNetworkMonitor = FakeNetworkMonitor(),
386385
appForegroundStateService: FakeAppForegroundStateService = FakeAppForegroundStateService(),
387386
) = SyncOrchestrator(
388-
matrixClient = FakeMatrixClient(syncService = syncService, sessionCoroutineScope = backgroundScope),
387+
syncService = syncService,
388+
sessionCoroutineScope = backgroundScope,
389389
networkMonitor = networkMonitor,
390390
appForegroundStateService = appForegroundStateService,
391391
dispatchers = testCoroutineDispatchers(),

appnav/src/test/kotlin/io/element/android/appnav/di/MatrixSessionCacheTest.kt

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,13 @@ package io.element.android.appnav.di
1010
import com.bumble.appyx.core.state.MutableSavedStateMapImpl
1111
import com.google.common.truth.Truth.assertThat
1212
import io.element.android.features.networkmonitor.test.FakeNetworkMonitor
13-
import io.element.android.libraries.matrix.api.MatrixClient
13+
import io.element.android.libraries.matrix.api.sync.SyncService
1414
import io.element.android.libraries.matrix.test.A_SESSION_ID
1515
import io.element.android.libraries.matrix.test.FakeMatrixClient
1616
import io.element.android.libraries.matrix.test.auth.FakeMatrixAuthenticationService
1717
import io.element.android.services.appnavstate.test.FakeAppForegroundStateService
1818
import io.element.android.tests.testutils.testCoroutineDispatchers
19+
import kotlinx.coroutines.CoroutineScope
1920
import kotlinx.coroutines.test.TestScope
2021
import kotlinx.coroutines.test.runTest
2122
import org.junit.Test
@@ -117,9 +118,13 @@ class MatrixSessionCacheTest {
117118
}
118119

119120
private fun TestScope.createSyncOrchestratorFactory() = object : SyncOrchestrator.Factory {
120-
override fun create(matrixClient: MatrixClient): SyncOrchestrator {
121+
override fun create(
122+
syncService: SyncService,
123+
sessionCoroutineScope: CoroutineScope,
124+
): SyncOrchestrator {
121125
return SyncOrchestrator(
122-
matrixClient,
126+
syncService = syncService,
127+
sessionCoroutineScope = sessionCoroutineScope,
123128
appForegroundStateService = FakeAppForegroundStateService(),
124129
networkMonitor = FakeNetworkMonitor(),
125130
dispatchers = testCoroutineDispatchers(),

features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenPresenter.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ class CallScreenPresenter(
242242
}
243243
coroutineScope.launch {
244244
Timber.d("Observing sync state in-call for sessionId: ${roomCallType.sessionId}")
245-
client.syncService().syncState
245+
client.syncService.syncState
246246
.collect { state ->
247247
if (state != SyncState.Running) {
248248
appForegroundStateService.updateIsInCallState(true)

features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListPresenter.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ import io.element.android.libraries.architecture.Presenter
3939
import io.element.android.libraries.fullscreenintent.api.FullScreenIntentPermissionsState
4040
import io.element.android.libraries.matrix.api.MatrixClient
4141
import io.element.android.libraries.matrix.api.core.RoomId
42-
import io.element.android.libraries.matrix.api.encryption.EncryptionService
4342
import io.element.android.libraries.matrix.api.encryption.RecoveryState
4443
import io.element.android.libraries.matrix.api.roomlist.RoomList
4544
import io.element.android.libraries.matrix.api.timeline.ReceiptType
@@ -84,7 +83,7 @@ class RoomListPresenter(
8483
private val appPreferencesStore: AppPreferencesStore,
8584
private val seenInvitesStore: SeenInvitesStore,
8685
) : Presenter<RoomListState> {
87-
private val encryptionService: EncryptionService = client.encryptionService()
86+
private val encryptionService = client.encryptionService
8887

8988
@Composable
9089
override fun present(): RoomListState {

features/home/impl/src/test/kotlin/io/element/android/features/home/impl/roomlist/RoomListPresenterTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -616,7 +616,7 @@ class RoomListPresenterTest {
616616
roomLastMessageFormatter = roomLastMessageFormatter,
617617
),
618618
coroutineDispatchers = testCoroutineDispatchers(),
619-
notificationSettingsService = client.notificationSettingsService(),
619+
notificationSettingsService = client.notificationSettingsService,
620620
sessionCoroutineScope = backgroundScope,
621621
dateTimeObserver = FakeDateTimeObserver(),
622622
),

features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/createaccount/CreateAccountPresenter.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ class CreateAccountPresenter(
8282
tryOrNull {
8383
// Wait until the session is verified
8484
val client = clientProvider.getOrRestore(sessionId).getOrThrow()
85-
val sessionVerificationService = client.sessionVerificationService()
85+
val sessionVerificationService = client.sessionVerificationService
8686
withTimeout(10.seconds) { sessionVerificationService.sessionVerifiedStatus.first { it.isVerified() } }
8787
}
8888
loggedInState.value = AsyncAction.Success(sessionId)

features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesFlowNode.kt

Lines changed: 29 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,9 @@ import io.element.android.libraries.dateformatter.api.DateFormatter
6262
import io.element.android.libraries.dateformatter.api.DateFormatterMode
6363
import io.element.android.libraries.dateformatter.api.toHumanReadableDuration
6464
import io.element.android.libraries.di.RoomScope
65-
import io.element.android.libraries.matrix.api.MatrixClient
6665
import io.element.android.libraries.matrix.api.core.EventId
6766
import io.element.android.libraries.matrix.api.core.RoomId
67+
import io.element.android.libraries.matrix.api.core.SessionId
6868
import io.element.android.libraries.matrix.api.core.ThreadId
6969
import io.element.android.libraries.matrix.api.core.UserId
7070
import io.element.android.libraries.matrix.api.core.toRoomIdOrAlias
@@ -73,6 +73,7 @@ import io.element.android.libraries.matrix.api.permalink.PermalinkData
7373
import io.element.android.libraries.matrix.api.room.BaseRoom
7474
import io.element.android.libraries.matrix.api.room.alias.matches
7575
import io.element.android.libraries.matrix.api.room.joinedRoomMembers
76+
import io.element.android.libraries.matrix.api.roomlist.RoomListService
7677
import io.element.android.libraries.matrix.api.timeline.Timeline
7778
import io.element.android.libraries.matrix.api.timeline.item.TimelineItemDebugInfo
7879
import io.element.android.libraries.matrix.ui.messages.RoomMemberProfilesCache
@@ -95,7 +96,8 @@ import kotlinx.parcelize.Parcelize
9596
class MessagesFlowNode(
9697
@Assisted buildContext: BuildContext,
9798
@Assisted plugins: List<Plugin>,
98-
private val matrixClient: MatrixClient,
99+
private val roomListService: RoomListService,
100+
private val sessionId: SessionId,
99101
private val sendLocationEntryPoint: SendLocationEntryPoint,
100102
private val showLocationEntryPoint: ShowLocationEntryPoint,
101103
private val createPollEntryPoint: CreatePollEntryPoint,
@@ -194,7 +196,7 @@ class MessagesFlowNode(
194196
}
195197
.launchIn(lifecycleScope)
196198

197-
matrixClient.roomListService
199+
roomListService
198200
.allRooms
199201
.summaries
200202
.onEach {
@@ -221,11 +223,13 @@ class MessagesFlowNode(
221223
}
222224

223225
override fun onPreviewAttachments(attachments: ImmutableList<Attachment>, inReplyToEventId: EventId?) {
224-
backstack.push(NavTarget.AttachmentPreview(
225-
attachment = attachments.first(),
226-
timelineMode = Timeline.Mode.Live,
227-
inReplyToEventId = inReplyToEventId,
228-
))
226+
backstack.push(
227+
NavTarget.AttachmentPreview(
228+
attachment = attachments.first(),
229+
timelineMode = Timeline.Mode.Live,
230+
inReplyToEventId = inReplyToEventId,
231+
)
232+
)
229233
}
230234

231235
override fun onUserDataClick(userId: UserId) {
@@ -262,7 +266,7 @@ class MessagesFlowNode(
262266

263267
override fun onJoinCallClick(roomId: RoomId) {
264268
val callType = CallType.RoomCall(
265-
sessionId = matrixClient.sessionId,
269+
sessionId = sessionId,
266270
roomId = roomId,
267271
)
268272
analyticsService.captureInteraction(Interaction.Name.MobileRoomCallButton)
@@ -348,18 +352,20 @@ class MessagesFlowNode(
348352
}
349353
is NavTarget.CreatePoll -> {
350354
createPollEntryPoint.nodeBuilder(this, buildContext)
351-
.params(CreatePollEntryPoint.Params(
352-
timelineMode = navTarget.timelineMode,
353-
mode = CreatePollMode.NewPoll
354-
))
355+
.params(
356+
CreatePollEntryPoint.Params(
357+
timelineMode = navTarget.timelineMode,
358+
mode = CreatePollMode.NewPoll
359+
)
360+
)
355361
.build()
356362
}
357363
is NavTarget.EditPoll -> {
358364
createPollEntryPoint.nodeBuilder(this, buildContext)
359365
.params(
360366
CreatePollEntryPoint.Params(
361-
timelineMode = navTarget.timelineMode,
362-
mode = CreatePollMode.EditPoll(eventId = navTarget.eventId)
367+
timelineMode = navTarget.timelineMode,
368+
mode = CreatePollMode.EditPoll(eventId = navTarget.eventId)
363369
)
364370
)
365371
.build()
@@ -412,11 +418,13 @@ class MessagesFlowNode(
412418
}
413419

414420
override fun onPreviewAttachments(attachments: ImmutableList<Attachment>, inReplyToEventId: EventId?) {
415-
backstack.push(NavTarget.AttachmentPreview(
416-
attachment = attachments.first(),
417-
timelineMode = Timeline.Mode.Thread(navTarget.threadRootId),
418-
inReplyToEventId = inReplyToEventId,
419-
))
421+
backstack.push(
422+
NavTarget.AttachmentPreview(
423+
attachment = attachments.first(),
424+
timelineMode = Timeline.Mode.Thread(navTarget.threadRootId),
425+
inReplyToEventId = inReplyToEventId,
426+
)
427+
)
420428
}
421429

422430
override fun onUserDataClick(userId: UserId) {
@@ -453,7 +461,7 @@ class MessagesFlowNode(
453461

454462
override fun onJoinCallClick(roomId: RoomId) {
455463
val callType = CallType.RoomCall(
456-
sessionId = matrixClient.sessionId,
464+
sessionId = sessionId,
457465
roomId = roomId,
458466
)
459467
analyticsService.captureInteraction(Interaction.Name.MobileRoomCallButton)

0 commit comments

Comments
 (0)