Skip to content

Commit 6f827bb

Browse files
committed
Do not use MatrixAuthenticationService in RootFlowNode, only use SessionStore
1 parent a8c1289 commit 6f827bb

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

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

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,13 @@ import io.element.android.libraries.architecture.waitForChildAttached
4646
import io.element.android.libraries.core.uri.ensureProtocol
4747
import io.element.android.libraries.deeplink.api.DeeplinkData
4848
import io.element.android.libraries.designsystem.theme.components.CircularProgressIndicator
49-
import io.element.android.libraries.matrix.api.auth.MatrixAuthenticationService
5049
import io.element.android.libraries.matrix.api.core.SessionId
5150
import io.element.android.libraries.matrix.api.core.toRoomIdOrAlias
5251
import io.element.android.libraries.matrix.api.permalink.PermalinkData
5352
import io.element.android.libraries.oidc.api.OidcAction
5453
import io.element.android.libraries.oidc.api.OidcActionFlow
5554
import io.element.android.libraries.sessionstorage.api.LoggedInState
55+
import io.element.android.libraries.sessionstorage.api.SessionStore
5656
import kotlinx.coroutines.flow.distinctUntilChanged
5757
import kotlinx.coroutines.flow.launchIn
5858
import kotlinx.coroutines.flow.onEach
@@ -64,7 +64,7 @@ import timber.log.Timber
6464
class RootFlowNode(
6565
@Assisted val buildContext: BuildContext,
6666
@Assisted plugins: List<Plugin>,
67-
private val authenticationService: MatrixAuthenticationService,
67+
private val sessionStore: SessionStore,
6868
private val accountProviderAccessControl: AccountProviderAccessControl,
6969
private val navStateFlowFactory: RootNavStateFlowFactory,
7070
private val matrixSessionCache: MatrixSessionCache,
@@ -152,7 +152,7 @@ class RootFlowNode(
152152
onSuccess: (SessionId) -> Unit,
153153
onFailure: () -> Unit
154154
) {
155-
val latestSessionId = authenticationService.getLatestSessionId()
155+
val latestSessionId = sessionStore.getLatestSessionId()
156156
if (latestSessionId == null) {
157157
onFailure()
158158
return
@@ -268,7 +268,7 @@ class RootFlowNode(
268268

269269
private suspend fun onLoginLink(params: LoginParams) {
270270
// Is there a session already?
271-
val latestSessionId = authenticationService.getLatestSessionId()
271+
val latestSessionId = sessionStore.getLatestSessionId()
272272
if (latestSessionId == null) {
273273
// No session, open login
274274
if (accountProviderAccessControl.isAllowedToConnectToAccountProvider(params.accountProvider.ensureProtocol())) {
@@ -285,7 +285,7 @@ class RootFlowNode(
285285

286286
private suspend fun onIncomingShare(intent: Intent) {
287287
// Is there a session already?
288-
val latestSessionId = authenticationService.getLatestSessionId()
288+
val latestSessionId = sessionStore.getLatestSessionId()
289289
if (latestSessionId == null) {
290290
// No session, open login
291291
switchToNotLoggedInFlow(null)
@@ -342,3 +342,5 @@ class RootFlowNode(
342342
.attachSession()
343343
}
344344
}
345+
346+
private suspend fun SessionStore.getLatestSessionId() = getLatestSession()?.userId?.let(::SessionId)

0 commit comments

Comments
 (0)