41 lines
No EOL
1.4 KiB
Kotlin
41 lines
No EOL
1.4 KiB
Kotlin
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
|
|
import com.tangem.core.ui.theme.AppThemeModeHolder
|
|
import dagger.Module
|
|
import dagger.Provides
|
|
import dagger.hilt.InstallIn
|
|
import dagger.hilt.components.SingletonComponent
|
|
import javax.inject.Singleton
|
|
|
|
@Module
|
|
@InstallIn(SingletonComponent::class)
|
|
internal object UiDependenciesModule {
|
|
|
|
@Provides
|
|
@Singleton
|
|
fun provideUiDependencies(
|
|
vibratorHapticManager: VibratorHapticManager,
|
|
appThemeModeHolder: AppThemeModeHolder,
|
|
): UiDependencies {
|
|
return object : UiDependencies {
|
|
override val vibratorHapticManager = vibratorHapticManager
|
|
override val appThemeModeHolder = appThemeModeHolder
|
|
override val globalSnackbarHostState: SnackbarHostState = SnackbarHostState()
|
|
override val eventMessageHandler: EventMessageHandler = EventMessageHandler()
|
|
}
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
@GlobalUiMessageSender
|
|
fun provideUiMessageSender(uiDependencies: UiDependencies): UiMessageSender {
|
|
return DefaultUiMessageSender(uiDependencies.eventMessageHandler)
|
|
}
|
|
} |