Avoid code duplication

This commit is contained in:
Benoit Marty 2025-08-06 16:13:07 +02:00
parent 955263bee1
commit 6079e5a4d6

View file

@ -42,12 +42,7 @@ class MatrixSessionCache @Inject constructor(
init { init {
authenticationService.listenToNewMatrixClients { matrixClient -> authenticationService.listenToNewMatrixClients { matrixClient ->
val syncOrchestrator = syncOrchestratorFactory.create(matrixClient) onMatrixClient(matrixClient)
sessionIdsToMatrixSession[matrixClient.sessionId] = InMemoryMatrixSession(
matrixClient = matrixClient,
syncOrchestrator = syncOrchestrator,
)
syncOrchestrator.start()
} }
} }
@ -105,6 +100,14 @@ class MatrixSessionCache @Inject constructor(
Timber.d("Restore matrix session: $sessionId") Timber.d("Restore matrix session: $sessionId")
return authenticationService.restoreSession(sessionId) return authenticationService.restoreSession(sessionId)
.onSuccess { matrixClient -> .onSuccess { matrixClient ->
onMatrixClient(matrixClient)
}
.onFailure {
Timber.e(it, "Fail to restore session")
}
}
private fun onMatrixClient(matrixClient: MatrixClient) {
val syncOrchestrator = syncOrchestratorFactory.create(matrixClient) val syncOrchestrator = syncOrchestratorFactory.create(matrixClient)
sessionIdsToMatrixSession[matrixClient.sessionId] = InMemoryMatrixSession( sessionIdsToMatrixSession[matrixClient.sessionId] = InMemoryMatrixSession(
matrixClient = matrixClient, matrixClient = matrixClient,
@ -112,10 +115,6 @@ class MatrixSessionCache @Inject constructor(
) )
syncOrchestrator.start() syncOrchestrator.start()
} }
.onFailure {
Timber.e(it, "Fail to restore session")
}
}
} }
private data class InMemoryMatrixSession( private data class InMemoryMatrixSession(