From 3c212ae9a3cf4ac28317c920b198faaefe678460 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 7 Oct 2026 10:35:35 +0200 Subject: [PATCH] Move SessionGraphFactory back to the appnav module The share feature does not need it anymore, so there is no reason to expose it in the matrix api module. Co-Authored-By: Claude Opus 5.5 (1M context) --- .../io/element/android/x/di/DefaultSessionGraphFactory.kt | 2 +- .../io/element/android/appnav/LoggedInAppScopeFlowNode.kt | 2 +- .../io/element/android/appnav/di}/SessionGraphFactory.kt | 8 +++----- .../verification/OtherSessionIncomingVerificationNode.kt | 2 +- 4 files changed, 6 insertions(+), 8 deletions(-) rename {libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api => appnav/src/main/kotlin/io/element/android/appnav/di}/SessionGraphFactory.kt (60%) diff --git a/app/src/main/kotlin/io/element/android/x/di/DefaultSessionGraphFactory.kt b/app/src/main/kotlin/io/element/android/x/di/DefaultSessionGraphFactory.kt index 6135d7774f..5bfe082ffe 100644 --- a/app/src/main/kotlin/io/element/android/x/di/DefaultSessionGraphFactory.kt +++ b/app/src/main/kotlin/io/element/android/x/di/DefaultSessionGraphFactory.kt @@ -10,8 +10,8 @@ package io.element.android.x.di import dev.zacsweers.metro.AppScope import dev.zacsweers.metro.ContributesBinding +import io.element.android.appnav.di.SessionGraphFactory import io.element.android.libraries.matrix.api.MatrixClient -import io.element.android.libraries.matrix.api.SessionGraphFactory @ContributesBinding(AppScope::class) class DefaultSessionGraphFactory( diff --git a/appnav/src/main/kotlin/io/element/android/appnav/LoggedInAppScopeFlowNode.kt b/appnav/src/main/kotlin/io/element/android/appnav/LoggedInAppScopeFlowNode.kt index 74f0d81dc1..32e1723d99 100644 --- a/appnav/src/main/kotlin/io/element/android/appnav/LoggedInAppScopeFlowNode.kt +++ b/appnav/src/main/kotlin/io/element/android/appnav/LoggedInAppScopeFlowNode.kt @@ -26,13 +26,13 @@ import dev.zacsweers.metro.AppScope import dev.zacsweers.metro.Assisted import dev.zacsweers.metro.AssistedInject import io.element.android.annotations.ContributesNode +import io.element.android.appnav.di.SessionGraphFactory import io.element.android.libraries.architecture.NodeInputs import io.element.android.libraries.architecture.callback import io.element.android.libraries.architecture.createNode import io.element.android.libraries.architecture.inputs import io.element.android.libraries.di.DependencyInjectionGraphOwner import io.element.android.libraries.matrix.api.MatrixClient -import io.element.android.libraries.matrix.api.SessionGraphFactory import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.core.SessionId import io.element.android.libraries.matrixmedia.api.ImageLoaderHolder diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/SessionGraphFactory.kt b/appnav/src/main/kotlin/io/element/android/appnav/di/SessionGraphFactory.kt similarity index 60% rename from libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/SessionGraphFactory.kt rename to appnav/src/main/kotlin/io/element/android/appnav/di/SessionGraphFactory.kt index cd940aa18e..bc3960409e 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/SessionGraphFactory.kt +++ b/appnav/src/main/kotlin/io/element/android/appnav/di/SessionGraphFactory.kt @@ -6,12 +6,10 @@ * Please see LICENSE files in the repository root for full details. */ -package io.element.android.libraries.matrix.api +package io.element.android.appnav.di + +import io.element.android.libraries.matrix.api.MatrixClient -/** - * Create the dependency injection graph of a session. - * It can be used to get session scoped dependencies of a session which is not the current one. - */ interface SessionGraphFactory { fun create(client: MatrixClient): Any } diff --git a/appnav/src/main/kotlin/io/element/android/appnav/verification/OtherSessionIncomingVerificationNode.kt b/appnav/src/main/kotlin/io/element/android/appnav/verification/OtherSessionIncomingVerificationNode.kt index eb282fffe8..115c174bb8 100644 --- a/appnav/src/main/kotlin/io/element/android/appnav/verification/OtherSessionIncomingVerificationNode.kt +++ b/appnav/src/main/kotlin/io/element/android/appnav/verification/OtherSessionIncomingVerificationNode.kt @@ -20,13 +20,13 @@ import dev.zacsweers.metro.AppScope import dev.zacsweers.metro.Assisted import dev.zacsweers.metro.AssistedInject import io.element.android.annotations.ContributesNode +import io.element.android.appnav.di.SessionGraphFactory import io.element.android.features.verifysession.api.IncomingVerificationEntryPoint import io.element.android.libraries.architecture.NodeInputs import io.element.android.libraries.architecture.callback import io.element.android.libraries.architecture.inputs import io.element.android.libraries.di.DependencyInjectionGraphOwner import io.element.android.libraries.matrix.api.MatrixClientProvider -import io.element.android.libraries.matrix.api.SessionGraphFactory import io.element.android.libraries.matrix.api.core.SessionId import io.element.android.libraries.matrix.api.verification.VerificationRequest import kotlinx.parcelize.Parcelize