Rename methods and update documentation.

This commit is contained in:
Benoit Marty
2026-09-08 17:06:53 +02:00
parent 59e72fc3ee
commit a817b6f219
5 changed files with 14 additions and 14 deletions
@@ -21,15 +21,15 @@ interface ClientBuilderEnterpriseHook {
* @param clientBuilder The [MatrixClientBuilder] to customize. * @param clientBuilder The [MatrixClientBuilder] to customize.
* @return The customized [MatrixClientBuilder]. * @return The customized [MatrixClientBuilder].
*/ */
suspend fun tweakClientBuilder(clientBuilder: MatrixClientBuilder): MatrixClientBuilder suspend fun beforeClientCreation(clientBuilder: MatrixClientBuilder): MatrixClientBuilder
/** /**
* Customize the [MatrixClientBuilder] for enterprise features. * Customize the [MatrixClientBuilder] for enterprise features.
* This method is invoked when a new [MatrixClientBuilder] is created to build a client for a specific session. * This method is invoked as well as the other method when a new [MatrixClientBuilder] is created to build a client for a specific session.
* *
* @param clientBuilder The [MatrixClientBuilder] to customize. * @param clientBuilder The [MatrixClientBuilder] to customize.
* @param sessionId The [SessionId] for which the [MatrixClientBuilder] is being created. * @param sessionId The [SessionId] for which the [MatrixClientBuilder] is being created.
* @return The customized [MatrixClientBuilder]. * @return The customized [MatrixClientBuilder].
*/ */
suspend fun tweakClientBuilder(clientBuilder: MatrixClientBuilder, sessionId: SessionId): MatrixClientBuilder suspend fun beforeClientCreationWithSession(clientBuilder: MatrixClientBuilder, sessionId: SessionId): MatrixClientBuilder
} }
@@ -18,12 +18,12 @@ import io.element.android.libraries.matrix.api.core.SessionId
*/ */
@ContributesBinding(AppScope::class) @ContributesBinding(AppScope::class)
class DefaultClientBuilderEnterpriseHook : ClientBuilderEnterpriseHook { class DefaultClientBuilderEnterpriseHook : ClientBuilderEnterpriseHook {
override suspend fun tweakClientBuilder(clientBuilder: MatrixClientBuilder): MatrixClientBuilder { override suspend fun beforeClientCreation(clientBuilder: MatrixClientBuilder): MatrixClientBuilder {
// No modification // No modification
return clientBuilder return clientBuilder
} }
override suspend fun tweakClientBuilder(clientBuilder: MatrixClientBuilder, sessionId: SessionId): MatrixClientBuilder { override suspend fun beforeClientCreationWithSession(clientBuilder: MatrixClientBuilder, sessionId: SessionId): MatrixClientBuilder {
// No modification // No modification
return clientBuilder return clientBuilder
} }
@@ -12,14 +12,14 @@ import io.element.android.libraries.matrix.api.MatrixClientBuilder
import io.element.android.libraries.matrix.api.core.SessionId import io.element.android.libraries.matrix.api.core.SessionId
class FakeClientBuilderEnterpriseHook( class FakeClientBuilderEnterpriseHook(
private val tweakClientBuilderResult: (MatrixClientBuilder) -> MatrixClientBuilder = { it }, private val beforeClientCreationResult: (MatrixClientBuilder) -> MatrixClientBuilder = { it },
private val tweakClientBuilderWithSessionIdResult: (MatrixClientBuilder, SessionId) -> MatrixClientBuilder = { clientBuilder, _ -> clientBuilder }, private val beforeClientCreationWithSessionResult: (MatrixClientBuilder, SessionId) -> MatrixClientBuilder = { clientBuilder, _ -> clientBuilder },
) : ClientBuilderEnterpriseHook { ) : ClientBuilderEnterpriseHook {
override suspend fun tweakClientBuilder(clientBuilder: MatrixClientBuilder): MatrixClientBuilder { override suspend fun beforeClientCreation(clientBuilder: MatrixClientBuilder): MatrixClientBuilder {
return tweakClientBuilderResult(clientBuilder) return beforeClientCreationResult(clientBuilder)
} }
override suspend fun tweakClientBuilder(clientBuilder: MatrixClientBuilder, sessionId: SessionId): MatrixClientBuilder { override suspend fun beforeClientCreationWithSession(clientBuilder: MatrixClientBuilder, sessionId: SessionId): MatrixClientBuilder {
return tweakClientBuilderWithSessionIdResult(clientBuilder, sessionId) return beforeClientCreationWithSessionResult(clientBuilder, sessionId)
} }
} }
@@ -100,7 +100,7 @@ class RustMatrixClientFactory(
.homeserverUrl(sessionData.homeserverUrl) .homeserverUrl(sessionData.homeserverUrl)
.enableAutomaticBackPagination(featureFlagService.isFeatureEnabled(FeatureFlags.AutomaticBackPagination)) .enableAutomaticBackPagination(featureFlagService.isFeatureEnabled(FeatureFlags.AutomaticBackPagination))
.let { .let {
(clientBuilderEnterpriseHook.tweakClientBuilder(RustMatrixClientBuilder(it), SessionId(sessionData.userId)) as RustMatrixClientBuilder).inner (clientBuilderEnterpriseHook.beforeClientCreationWithSession(RustMatrixClientBuilder(it), SessionId(sessionData.userId)) as RustMatrixClientBuilder).inner
} }
.use { it.build() } .use { it.build() }
@@ -222,7 +222,7 @@ class RustMatrixClientFactory(
proxyProvider.provides()?.let { proxy(it) } ?: this proxyProvider.provides()?.let { proxy(it) } ?: this
} }
.let { .let {
(clientBuilderEnterpriseHook.tweakClientBuilder(RustMatrixClientBuilder(it)) as RustMatrixClientBuilder).inner (clientBuilderEnterpriseHook.beforeClientCreation(RustMatrixClientBuilder(it)) as RustMatrixClientBuilder).inner
} }
} }
} }