Browse Source

Fix crash at first startup. Inject NotLoggedInImageLoaderFactory directly to NotLoggedInFlowNode

pull/852/head
Benoit Marty 1 year ago
parent
commit
d3a95afe86
  1. 7
      appnav/src/main/kotlin/io/element/android/appnav/NotLoggedInFlowNode.kt
  2. 2
      libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/di/MatrixUIBindings.kt

7
appnav/src/main/kotlin/io/element/android/appnav/NotLoggedInFlowNode.kt

@ -34,9 +34,8 @@ import io.element.android.features.login.api.LoginEntryPoint
import io.element.android.features.onboarding.api.OnBoardingEntryPoint import io.element.android.features.onboarding.api.OnBoardingEntryPoint
import io.element.android.libraries.architecture.BackstackNode import io.element.android.libraries.architecture.BackstackNode
import io.element.android.libraries.architecture.animation.rememberDefaultTransitionHandler import io.element.android.libraries.architecture.animation.rememberDefaultTransitionHandler
import io.element.android.libraries.architecture.bindings
import io.element.android.libraries.di.AppScope import io.element.android.libraries.di.AppScope
import io.element.android.libraries.matrix.ui.di.MatrixUIBindings import io.element.android.libraries.matrix.ui.media.NotLoggedInImageLoaderFactory
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@ContributesNode(AppScope::class) @ContributesNode(AppScope::class)
@ -45,6 +44,7 @@ class NotLoggedInFlowNode @AssistedInject constructor(
@Assisted plugins: List<Plugin>, @Assisted plugins: List<Plugin>,
private val onBoardingEntryPoint: OnBoardingEntryPoint, private val onBoardingEntryPoint: OnBoardingEntryPoint,
private val loginEntryPoint: LoginEntryPoint, private val loginEntryPoint: LoginEntryPoint,
private val notLoggedInImageLoaderFactory: NotLoggedInImageLoaderFactory,
) : BackstackNode<NotLoggedInFlowNode.NavTarget>( ) : BackstackNode<NotLoggedInFlowNode.NavTarget>(
backstack = BackStack( backstack = BackStack(
initialElement = NavTarget.OnBoarding, initialElement = NavTarget.OnBoarding,
@ -57,8 +57,7 @@ class NotLoggedInFlowNode @AssistedInject constructor(
super.onBuilt() super.onBuilt()
lifecycle.subscribe( lifecycle.subscribe(
onCreate = { onCreate = {
val imageLoaderFactory = bindings<MatrixUIBindings>().notLoggedInImageLoaderFactory() Coil.setImageLoader(notLoggedInImageLoaderFactory)
Coil.setImageLoader(imageLoaderFactory)
}, },
) )
} }

2
libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/di/MatrixUIBindings.kt

@ -19,10 +19,8 @@ package io.element.android.libraries.matrix.ui.di
import com.squareup.anvil.annotations.ContributesTo import com.squareup.anvil.annotations.ContributesTo
import io.element.android.libraries.di.SessionScope import io.element.android.libraries.di.SessionScope
import io.element.android.libraries.matrix.ui.media.LoggedInImageLoaderFactory import io.element.android.libraries.matrix.ui.media.LoggedInImageLoaderFactory
import io.element.android.libraries.matrix.ui.media.NotLoggedInImageLoaderFactory
@ContributesTo(SessionScope::class) @ContributesTo(SessionScope::class)
interface MatrixUIBindings { interface MatrixUIBindings {
fun loggedInImageLoaderFactory(): LoggedInImageLoaderFactory fun loggedInImageLoaderFactory(): LoggedInImageLoaderFactory
fun notLoggedInImageLoaderFactory(): NotLoggedInImageLoaderFactory
} }

Loading…
Cancel
Save