Updated on 2026-08-14

This commit is contained in:
Tangem 2024-12-26 14:57:11 +04:00
parent 48c179efea
commit cb1d6b4f66
7 changed files with 36 additions and 14 deletions

View file

@ -6,8 +6,9 @@ import com.arkivanov.decompose.defaultComponentContext
import com.tangem.core.decompose.context.AppComponentContext
import com.tangem.core.decompose.context.DefaultAppComponentContext
import com.tangem.core.decompose.di.DecomposeComponent
import com.tangem.core.decompose.di.GlobalUiMessageSender
import com.tangem.core.decompose.di.RootAppComponentContext
import com.tangem.core.ui.UiDependencies
import com.tangem.core.decompose.ui.UiMessageSender
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
import dagger.Module
import dagger.Provides
@ -27,13 +28,13 @@ internal object RootAppComponentContextModule {
@ActivityContext context: Context,
dispatchers: CoroutineDispatcherProvider,
componentBuilder: DecomposeComponent.Builder,
uiDependencies: UiDependencies,
@GlobalUiMessageSender messageSender: UiMessageSender,
): AppComponentContext {
return DefaultAppComponentContext(
componentContext = (context as AppCompatActivity).defaultComponentContext(),
messageHandler = uiDependencies.eventMessageHandler,
dispatchers = dispatchers,
hiltComponentBuilder = componentBuilder,
messageSender = messageSender,
)
}
}

View file

@ -1,6 +1,9 @@
package com.tangem.tap.di
import androidx.compose.material3.SnackbarHostState
import com.tangem.core.decompose.di.GlobalUiMessageSender
import com.tangem.core.decompose.ui.DefaultUiMessageSender
import com.tangem.core.decompose.ui.UiMessageSender
import com.tangem.core.ui.UiDependencies
import com.tangem.core.ui.haptic.VibratorHapticManager
import com.tangem.core.ui.message.EventMessageHandler
@ -28,4 +31,11 @@ internal object UiDependenciesModule {
override val eventMessageHandler: EventMessageHandler = EventMessageHandler()
}
}
@Provides
@Singleton
@GlobalUiMessageSender
fun provideUiMessageSender(uiDependencies: UiDependencies): UiMessageSender {
return DefaultUiMessageSender(uiDependencies.eventMessageHandler)
}
}