anytype-kotlin-wild/app/src/main/java/com/anytypeio/anytype/di/main/TemplatesModule.kt
Evgenii Kozlov 5886fc1ae5
DROID-1654 App | Feature | Multispaces + Misc. enhancements (#300)
Co-authored-by: Konstantin Ivanov <54908981+konstantiniiv@users.noreply.github.com>
2023-10-24 12:41:32 +02:00

40 lines
1.3 KiB
Kotlin

package com.anytypeio.anytype.di.main
import com.anytypeio.anytype.domain.base.AppCoroutineDispatchers
import com.anytypeio.anytype.domain.block.repo.BlockRepository
import com.anytypeio.anytype.domain.debugging.Logger
import com.anytypeio.anytype.domain.library.StorelessSubscriptionContainer
import com.anytypeio.anytype.domain.search.SubscriptionEventChannel
import com.anytypeio.anytype.domain.workspace.SpaceManager
import com.anytypeio.anytype.presentation.templates.DefaultObjectTypeTemplatesContainer
import com.anytypeio.anytype.presentation.templates.ObjectTypeTemplatesContainer
import dagger.Module
import dagger.Provides
import javax.inject.Singleton
@Module
object TemplatesModule {
@JvmStatic
@Provides
@Singleton
fun provideStorelessContainer(
repo: BlockRepository,
channel: SubscriptionEventChannel,
dispatchers: AppCoroutineDispatchers,
logger: Logger
): StorelessSubscriptionContainer =
StorelessSubscriptionContainer.Impl(repo, channel, dispatchers, logger)
@JvmStatic
@Provides
@Singleton
fun provideTemplatesContainer(
storage: StorelessSubscriptionContainer,
spaceManager: SpaceManager
): ObjectTypeTemplatesContainer =
DefaultObjectTypeTemplatesContainer(
storage = storage,
spaceManager = spaceManager
)
}